第四條 通過私有構(gòu)造器強(qiáng)化不可實(shí)例化的能力

在實(shí)際開發(fā)中一些類是不希望被實(shí)例化,實(shí)例化對(duì)他沒有任何意義,然后,在缺少顯示構(gòu)造器的情況下,編譯器會(huì)自動(dòng)提供一個(gè)公有的,無慘的缺省構(gòu)造器,對(duì)用戶而言,這個(gè)構(gòu)造器與其他的構(gòu)造器沒有任何區(qū)別

企圖通過將類做成抽象類來強(qiáng)制該類不可被實(shí)例化,這是行不通的

抽象類可以被子類化,子類可以實(shí)例化

  • 實(shí)際上,我們可以將無參的構(gòu)造函數(shù)私有化,這樣就能避免類的外部去訪問它。但這樣做仍然是不夠的,因?yàn)轭惖膬?nèi)部還是可以訪問它。因此,我們還需要在其構(gòu)造函數(shù)內(nèi)拋出一個(gè)異常,來防止其在內(nèi)部實(shí)例化該類。
public class UtilityClass{
     private UtilityClass(){
            throw new AssertionError();
      }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容