Display dis;
Display dis = new Display();
究竟這兩個語句呢? 我已經嘗試過他們兩個,但似乎無法知道區別。 P.S.這裏
Display dis;
Display dis = new Display();
究竟這兩個語句呢? 我已經嘗試過他們兩個,但似乎無法知道區別。 P.S.這裏
與像C++等編程語言,它是不夠的聲明一個變量來給它分配一個實際的對象:
Display dis; // dis == null
您需要實例化一個對象與
dis = new Display(); // dis now contains a reference to a new Display instance
你可以聲明變量並同時爲新實例分配引用,如果您願意:
Display dis = new Display();
(注:在Java中,習慣上用大寫字母開頭的類名)
這很有幫助。謝謝! –
Display dis;
小白編碼器上面的語句是Display
類型的引用的聲明。這裏沒有創建對象。
Display dis = new Display();
這種說法是Display
類型的對象的實例。
這兩條語句根本不相同。第二條語句使用new
運算符創建一個對象,並將創建的對象分配給引用dis
,以便您可以使用dis
對該對象執行操作。
例如:
dis.show();
沒有創作,你將無法執行上述操作的對象。
希望這有助於!
當您在做dis = new display();
時,會在內存中創建一個新的Display
對象,並將其引用放在dis
之下。當你正在做Display dis
堆棧中的一個地方是爲變量保留的,但是那裏有null
而不是「真實」的對象。
第一個甚至沒有初始化,有'null'值 –
@ m.antkowicz只有聲明爲字段,如果不聲明爲局部變量。 – RealSkeptic
這是一個非常基本的問題。你應該首先做一個java教程或者一些課程來理解基礎。你會在這裏得到一堆正確的聲音,有些是非常詳細的。但是,只要做一個教程或一堂課,你就可以更快地學習java方法。 –