假设我有一堂课A.java
,
当我将执行 A 的构造方法时,它会为xyz
Object 创建一个内存空间。
A xyz = new A();
对内存的引用可能类似于,
[xyz] ---> '0x34524'
这就是 OOP 的基础知识。够简单!
现在,
如果一个类从不同的父类继承会发生什么?将在内存中创建多少对象空间?
可以说我们有,
然后我们创建一个类的对象D.java
,
D omg = new D();
在这里,我们知道 D 的对象将调用 C.java 的构造,依此类推,直到 A.java。这是否意味着在内存中我们有 4 个不同的内存引用,因为我们正在实例化所有四个对象(一个直接实例化,另一个 3 个间接实例化)?
[omg] ---> '0x34525'
[C] ---> '0x34526'
[B] ---> '0x34527'
[A] ---> '0x34528'
笔记 :
- 这不是作业问题,这只是一个好奇心问题。
- 我知道如果我们在 A.java 中有一个实例变量,那么我们将不会只创建对象 A,但每当我们点击
new
关键字时,我们都会创建其他内部对象。