接口 java什么是構(gòu)造方法,作用是什么?
java什么是構(gòu)造方法,作用是什么?構(gòu)造方法是一種特殊的方法,與一般的方法不同是: 1.構(gòu)造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。 2.構(gòu)造方法的調(diào)用是在創(chuàng)建一個對
java什么是構(gòu)造方法,作用是什么?
構(gòu)造方法是一種特殊的方法,與一般的方法不同是:
1.構(gòu)造方法的名字必須與定義他的類名完全相同,沒有返回類型,甚至連void也沒有。
2.構(gòu)造方法的調(diào)用是在創(chuàng)建一個對象時使用new操作進行的。
3.構(gòu)造方法不能被static、final、synchronized、abstract和native修飾。構(gòu)造方法不能被子類繼承。
構(gòu)造方法的作用:
構(gòu)造方法分為有參數(shù)和沒有參數(shù)兩種。
有參數(shù)的構(gòu)造方法主要就是用于對創(chuàng)建出來的對象進行初始化,避免了某些屬性忘記初始化的問題;同時提高了程序的可閱讀性。
另一種是沒有參數(shù)的構(gòu)造方法,又叫缺省構(gòu)造方法。其實,你的類如果沒有定義任何構(gòu)造方法,Java的編譯器會配上一個自動缺省構(gòu)造方法,這個構(gòu)造方法是空的,不做任何事情,只是為了滿足編譯需要?;蛘?,你也可以自己寫一個空的構(gòu)造方法,在里邊對一些屬性賦值,或者執(zhí)行一些其他操作。
其實,構(gòu)造方法的主要作用就是為對象成員變量賦初始值。
在java中編寫一個類的時候必須要編寫構(gòu)造器嗎?
在回答這個問題前我想說的是如果自己手寫代碼最好至少寫一個無參構(gòu)造方法,養(yǎng)成一個良好的習(xí)慣很重要。
OK,轉(zhuǎn)入正題。
Java中編寫一個類時必須要寫構(gòu)造器么?
我的答案是必須。
為什么這么說呢,構(gòu)造方法用于構(gòu)造該類的實例對象,Java語言通過new關(guān)鍵字來調(diào)用構(gòu)造方法,從而返回該類的實例。
構(gòu)造方法是一個類創(chuàng)建對象的根本途徑,如果一個類沒有構(gòu)造方法,這個類通常無法創(chuàng)建實例,因此,Java語言提供了一個功能:
如果我們沒有為一個類編寫構(gòu)造方法,則系統(tǒng)會為該類提供一個默認的無參的構(gòu)造方法。
可能有些小伙伴們會問了,我怎么在我們項目中沒見到一個寫構(gòu)造函數(shù)的?
我的猜想有以下幾種可能:
①開發(fā)人員比較了解這種機制,懶得寫
②忘了寫
③用了lombok或者其他自定義的注解
@NoArgsConstructor :注解在類上;為類提供一個無參的構(gòu)造方法
@AllArgsConstructor :注解在類上;為類提供一個全參的構(gòu)造方法
希望能幫到你,手機打字不易,暫且不引申更多內(nèi)容了。
感興趣的話歡迎關(guān)注,有問題可以互相交流學(xué)習(xí)。[哈欠]