サーチ…


参照型のインスタンス化

Object obj = new Object(); // Note the 'new' keyword

場所:

  • Objectは参照型です。
  • objは、新しい参照を格納する変数です。
  • Object()は、 Objectコンストラクタへの呼び出しです。

何が起こるのですか:

  • メモリ内の領域がオブジェクトに割り当てられます。
  • コンストラクタObject()は、そのメモリ空間を初期化するために呼び出されます。
  • メモリアドレスはobjに格納され、新しく作成されたオブジェクトを参照します。

これはプリミティブとは異なります。

int i = 10;

実際の値10i格納されている場所。

参照解除

間接参照はして起こります.オペレーター:

Object obj = new Object();
String text = obj.toString(); // 'obj' is dereferenced.

参照解除 、参照に格納されているメモリアドレス、実際のオブジェクトが存在するメモリ内の場所に従います。オブジェクトが見つかった場合、要求されたメソッドが呼び出されます(この場合はtoString )。


参照の値がnull場合、逆参照によりNullPointerExceptionが発生します。

Object obj = null;
obj.toString(); // Throws a NullpointerException when this statement is executed.

nullすなわち、メモリアドレスはどこにもつながりません以下 、値がないことを示します。したがって、要求されたメソッドを呼び出すことができるオブジェクトはありません。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow