天天看點

第3條:通過私有構造方法強化不可執行個體化的能力

企圖通過将一個類做成抽象類來強制該類不可被執行個體化,這是行不通的。

例如:

public abstract class Child {

}
           
public class Boy extends Child {

}
           
Child c = new Boy();
           

 抽象類Child可以被子類化,也可以被執行個體化為Boy。而且,别人可能以為Child類就是為了繼承而設計的。

public class Child {
	private Child() {
		
	}
}
           

上面就可以使得類不可執行個體化了,也就是不能new一個了。

但是,這個類,也不能子類化了,其他類無法extends這個類了。

繼續閱讀