企圖通過将一個類做成抽象類來強制該類不可被執行個體化,這是行不通的。
例如:
public abstract class Child {
}
public class Boy extends Child {
}
Child c = new Boy();
抽象類Child可以被子類化,也可以被執行個體化為Boy。而且,别人可能以為Child類就是為了繼承而設計的。
public class Child {
private Child() {
}
}
上面就可以使得類不可執行個體化了,也就是不能new一個了。
但是,這個類,也不能子類化了,其他類無法extends這個類了。