今天面试官问了个问题,一时没答上来,请各位大神解惑,问题是这样子的:
定义一个类,如果要想它不能被其他类继承,除了final关键字,还有什么办法吗?
把它的构造器用private来修饰,其它类都是没有访问权限的,其实,这个也是单利模式的前提。
/**
* 父类
*/
public class Father {
private Father() {
}
}
/**
* 子类
* */
public class Son extends Father {
}
会被编译器提示,Implicit super constructor Father() is not visible for default constructor. Must define an explicit constructor
写成枚举型?