Java Language
参照データ型
サーチ…
参照型のインスタンス化
Object obj = new Object(); // Note the 'new' keyword
場所:
-
Object
は参照型です。 -
obj
は、新しい参照を格納する変数です。 -
Object()
は、Object
コンストラクタへの呼び出しです。
何が起こるのですか:
- メモリ内の領域がオブジェクトに割り当てられます。
- コンストラクタ
Object()
は、そのメモリ空間を初期化するために呼び出されます。 - メモリアドレスは
obj
に格納され、新しく作成されたオブジェクトを参照します。
これはプリミティブとは異なります。
int i = 10;
実際の値10
がi
格納されている場所。
参照解除
間接参照はして起こります.
オペレーター:
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