オブジェクトの作成方法
行 Vehicle minivan = new Vehicle(); Vehicle.
このステートメントは 2 つのことを行います:
Vehicle.
クラスの minivan という変数を宣言します。
オブジェクトの物理コピーを作成し、new 演算子を使用してミニバンに参照を割り当てます。
新しい演算子は、オブジェクトに動的にメモリを割り当て、そのオブジェクトへの参照を返します。
参照は、多かれ少なかれ、new.
参照は変数に保存されます。
Java では、クラス内のすべてのオブジェクトを動的に割り当てる必要があります。
ステートメントの 2 つのステップを書き換えて、各ステップを個別に表示できます。
車両ミニバン; // オブジェクトへの参照を宣言します。
ミニバン = 新しい車両(); // Vehicle オブジェクトを割り当てます。
最初の行では、Vehicle タイプのオブジェクトへの参照として minivan を宣言しています。
minivan はオブジェクトを参照できる変数ですが、オブジェクトではありません。
今のところ、ミニバンはオブジェクトを参照しません。
次の行では、新しい Vehicle オブジェクトを作成し、ミニバンに参照を割り当てます。
これで、ミニバンがオブジェクトにリンクされました。
参照変数と代入
オブジェクト参照変数は、代入操作におけるプリミティブ型変数とは異なる動作をします。
プリミティブ型変数では、左側の変数は右側の変数の値のコピーを受け取ります。
オブジェクト参照変数では、左側の変数は右側の変数と同じオブジェクトを参照します。
予期しない結果が生じる可能性があります。
例:
車両 car1 = 新しい車両();
車両 car2 = car1;
car1 と car2 は同じオブジェクトを参照します。
car1 または car2 を通じて行われた変更は、同じオブジェクトに影響します。
いつ:
car1.mpg = 26;
System.out.println(car1.mpg);
System.out.println(car2.mpg);
26番出口があります。
car1 と car2 は同じオブジェクトを参照しますが、他の方法ではリンクされていません。
その後の car2 への割り当ては car1 には影響しません。
例:
車両 car1 = 新しい車両();
車両 car2 = car1;
車両 car3 = 新しい車両();
車 2 = 車 3;
car2 は car3 と同じオブジェクトを参照するようになりました。
car1 によって参照されるオブジェクトは変更されません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3