Considering these classes:
public class Animal{
}
public class Dog extends Animal{
}
public AnimalTest(){
public static void main(String[] args){
Dog d = new Dog();
Animal a = d;
}
}
my question is since I performed an upcasting on Animal a = d;does it consume a new memory allocation on the machine or does it use the memory allocated to the Dog d = new Dog();
The Actual object or its memory footprint is not affected. just a new reference to the object is created. The only difference is that the reference a can only call methods or access attributes that was available in the Super Class Animal.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With