java - java中向上转换的内存分配

标签 java memory-management upcasting

考虑这些类:

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/

相关文章:

java - Gradle找不到本地依赖项目

ios - 释放调用顺序

java: bind exception address in use 未使用时报错(netstat显示)

java - Hibernate 和 Hibernate JPA 的区别

java - tomcat webapp - 我在哪里存储永久文件

python - 利用 "Copy-on-Write"将数据复制到 Multiprocessing.Pool() 工作进程

c - C中奇怪的内存分配代码,它是如何工作的?

Java 通过对象引用比较两个属性

Java 通过接口(interface)向上转型和向下转型

java - 将整数转换为 java 类类型的数组