Display dis;
と正確にこれらの二つの文は何をすべきかJavaのオブジェクトを宣言する2つの方法の違いは何ですか?
Display dis = new Display();
? 私は両方を試しましたが、その違いを知ることはできません。 P.P. noobのコーダはここ
Display dis;
と正確にこれらの二つの文は何をすべきかJavaのオブジェクトを宣言する2つの方法の違いは何ですか?
Display dis = new Display();
? 私は両方を試しましたが、その違いを知ることはできません。 P.P. noobのコーダはここ
は、それに割り当てられた実際のオブジェクトを持つように変数を宣言するのに十分ではありません次のように変数を宣言して、同時に新しいインスタンスへの参照を割り当てることができます。
Display dis = new Display();
(注:Javaで、大文字でクラス名を開始することが通例である)
これは役に立ちます。ありがとう! –
Display dis;
上記の文は、型Display
の参照の宣言です。ここにはオブジェクトが作成されていません。
Display dis = new Display();
この文は、型Display
のオブジェクトのインスタンス化したものです。
2つのステートメントは全く同じではありません。 2番目のステートメントは、new
演算子を使用してオブジェクトを作成し、dis
を使用してオブジェクトに対して操作を実行できるように、作成されたオブジェクトを参照dis
に割り当てます。例えば
:オブジェクトの作成がなければ
dis.show();
は、あなたが上記の操作を実行することはできません。
dis = new display();
を実行しているときは、新しいDisplay
オブジェクトがメモリに作成され、参照はdis
になります。 Display dis
を実行しているときに、スタック内の場所が変数に予約されていますが、実際のオブジェクトではなくnull
が存在します。
Display dis; // dis == null
あなたは
dis = new Display(); // dis now contains a reference to a new Display instance
あなたにオブジェクトをインスタンス化する必要があります:C++のような他のプログラミング言語とは異なり
最初のものでも初期化されていないとm.antkowicz @ 'null'なので値 –
を持つフィールドとして宣言されている場合のみ、として宣言されていない場合ローカル変数。 – RealSkeptic
これは本当に基本的な質問です。おそらく最初にJavaのチュートリアルや基礎を理解するためのいくつかのレッスンを行う必要があります。あなたは正しいアンワースをここに集めます、いくつかは本当に詳細です。しかし、チュートリアルやレッスンをするだけで、Javaの方法をより早く学ぶことができます。 –