對象 與 實例化

在定義類時,只是通知編譯器需要準(zhǔn)備多大的內(nèi)存空間,并沒有為它分配內(nèi)存空間。只有用類創(chuàng)建了對象后,才會真正占用內(nèi)存空間。

1. 聲明對象

對象的聲明和基本類型的數(shù)據(jù)聲明在形式上是一樣的:

類名 對象名;

對象名也是用戶標(biāo)識符,和基本類型的變量遵循同樣的命名規(guī)則和使用規(guī)則。

聲明一個變量,并不會分配一個完整的對象所需要的內(nèi)存空間,只是將對象名所代表的變量看成是一個引用變量,并為它分配所需內(nèi)存空間,它所占用的空間遠(yuǎn)遠(yuǎn)小于一個類的對象所需要的空間。

如此處理,使得Java中聲明一個對象的消耗很小,但也有一個副作用,就是對象不能馬上使用,還需要對它進(jìn)行實例化。

2. 實例化對象

用new關(guān)鍵字創(chuàng)建一個新對象,即進(jìn)行實例化。格式如下:

new構(gòu)造方法([參數(shù)列表])

實例化的過程就是為對象分配內(nèi)存空間的過程,此時,對象才成為類的實例。new所執(zhí)行的具體操作是調(diào)用相應(yīng)類中的構(gòu)造方法(包括祖先類的構(gòu)造方法),來完成內(nèi)存分配以及變量的初始化工作,然后將分配的內(nèi)存地址返回給所定義的變量。

實質(zhì):實例化了就有自己內(nèi)存空間。而沒有實例化就和引用的對象內(nèi)存空間地址相同,指向同一個空間。

人是一個類;比如你叫張偉,就是人實例化出來的一個對象。有人類的一切特征。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容