Скажем, у нас есть два класса.
class Animal{/*code*/}
class Cat extends Animal{/*code*/}
Из того, что я узнал, апскейтинг и опускание работает следующим образом
Cat c1 = new Cat();
Animal a = c1; //Upcasted to Animal
Cat c2 = (cat) a; //Downcasted back to Cat
Но единственная проблема заключается в том, что каждый раз, когда вы поднимаете или опускаете, вы создаете новый Объект,Есть ли какой-либо способ повысить или понизить объект от Cat до Animal и обратно до Cat, чтобы был приведен только один объект?Например
Cat c --> Animal c --> Cat c //Upcasted to Animal, and downcasted back to Cat, but done all on one object.
Спасибо!