這是我定義的一個抽象類:
如果你試圖創建一個對象,當然是不行的,抽象類不能用new運算符創建對象。
這是錯誤提示,還記得instantiate這個單詞嗎?在我的這篇隨筆第二篇(那些JAVA程序BUG中的常見單詞)中有哦。
然后你用這個抽象類去創建一個數組就會發現這卻是可以的,這是為什么呢?
首先我們要了解對象的創建(即為對象分配變量並獲得一個引用),系統遇到new+構造方法以后,就會給該對象的變量分配內存並進行初始化,然后再計算出一個引用賦給該對象。
而數組的創建和對象的創建基本上是一樣的,只不過數組中存放的是這些元素的首地址,而在這個過程中並沒有經過上邊的對象創建的步驟,只是給數組的元素指定了數據類型,規定它只能存放該類型的數據或引用。
學識淺薄,如有錯誤,懇請斧正,在下不勝感激。