在實際開發(fā)中一些類是不希望被實例化蒂誉,實例化對他沒有任何意義,然后篡悟,在缺少顯示構造器的情況下谜叹,編譯器會自動提供一個公有的,無慘的缺省構造器搬葬,對用戶而言荷腊,這個構造器與其他的構造器沒有任何區(qū)別
企圖通過將類做成抽象類來強制該類不可被實例化,這是行不通的
抽象類可以被子類化急凰,子類可以實例化
- 實際上女仰,我們可以將無參的構造函數(shù)私有化,這樣就能避免類的外部去訪問它。但這樣做仍然是不夠的董栽,因為類的內部還是可以訪問它码倦。因此,我們還需要在其構造函數(shù)內拋出一個異常锭碳,來防止其在內部實例化該類袁稽。
public class UtilityClass{
private UtilityClass(){
throw new AssertionError();
}
}