考虑这些类:
public class Animal{
}
public class Dog extends Animal{
}
public AnimalTest(){
public static void main(String[] args){
Dog d = new Dog();
Animal a = d;
}
}
我的问题是,因为我对 Animal a = d;
进行了向上转换,它会消耗机器上的新内存分配还是使用分配给 Dog d = new 的内存狗();
最佳答案
Actual 对象或其内存占用不受影响。只是创建了一个对该对象的新引用。唯一的区别是引用 a
只能调用父类(super class) Animal 中可用的方法或访问属性。
关于java - java中向上转换的内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374682/