私はクラスを持っているとしましょうA.java
、
xyz
A のコンストラクター メソッドを実行すると、 Object用のメモリ空間が作成されます。
A xyz = new A();
メモリへの参照は、
[xyz] ---> '0x34524'
それがOOPの基本です。簡単です!
今、
クラスが異なる親クラスから継承している場合はどうなりますか? メモリー内に作成されるオブジェクト・スペースの数は?
私たちが持っているとしましょう、
そして、 class のオブジェクトを作成しますD.java
。
D omg = new D();
ここでわかっているように、D のオブジェクトは C.java のコンストラクトを呼び出し、A.java まで同様に呼び出します。これは、4 つのオブジェクトすべて (1 つは直接、もう 1 つは間接的) をインスタンス化しているため、メモリ内に 4 つの異なるメモリ参照があるということですか?
[omg] ---> '0x34525'
[C] ---> '0x34526'
[B] ---> '0x34527'
[A] ---> '0x34528'
ノート :
- これは宿題の質問ではなく、単なる好奇心の問題です。
- A.java 内にインスタンス変数がある場合、オブジェクト A だけを作成するのではなく、
new
キーワードをヒットするたびに他の内部オブジェクトを作成するという事実を認識しています。