我想知道是否在這兩種情況下創建MyObject對象。如果不是,爲什麼兩種情況都能正常工作?這個語法有什麼不同嗎?
MyObject[] abcd = new MyObject[8];
abcd[0] = MyObject();
String str = abcd[0].someMethod();
和
MyObject[] abcd = new MyObject[8];
String str = abcd[0].someMethod();
我知道,在第一示例中,一個爲MyObject陣列與8個元素創建並存儲在該數組稱爲ABCD的參考變量。我有一個MyObject引用的數組,但沒有真正的MyObject對象。所以我創建了這些對象,第一個對象存儲在數組0中。
在第二個示例中,它是相同的東西,只是較短的代碼?
* 編輯:忘了補充[]我很抱歉。 *
'abcd [0] = MyObject();'?它是否編譯? – gefei
我認爲它應該是'new MyObject()'。 – Polynomial
你確定第一個代碼甚至編譯?第二部分將編譯,但會拋出一個NPE。 – ppeterka