gpt4 book ai didi

java - 派生类对象的大小

转载 作者:行者123 更新时间:2023-12-02 11:06:45 25 4
gpt4 key购买 nike

当Java中有两个类,一个继承另一个类时,派生类的对象占用的空间是否等于基类中的数据成员加上派生类本身的成员?

最佳答案

在调用构造函数之前,类的内存需求是已知的。 JVM 首先为声明的类及其所有派生类中的字段分配内存,然后调用构造函数。为了填充对象值和方法,这都是关于 Stack and the Heap .

一旦ObjectB继承了ObjectA,他就会调用ObjectA的 super 方法(构造函数):

class ObjectB extends ObjectA {
public ObjectB() {
super();
}
}

然后,您的 Java 程序将调用 ObjectA 构造函数并初始化其自己的方法:

class ObjectA {
public ObjectB() {
// Some code
}
}

因此,在包含初始化的每一行中,数据将被写入堆中,从而按照每个初始化的内部对象的大小填充另一个预先需要的内存。考虑到 ObjectA 也将从 'Object' class 继承。 ,因为根据定义,它是每个 Java 对象都必须的,即使您自己不调用“super()”方法,它也会在幕后完成。

关于java - 派生类对象的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50898503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com