我是一名Java开发人员.在一次采访中,我被问到一个关于私人建筑师的问题:
你可以访问类的私有构造函数并实例化它吗?
我回答'不',但错了.
你能解释为什么我错了,举一个用私有构造函数实例化对象的例子吗?
假设我们有以下代码:
class Test {
private Test() {
System.out.println("test");
}
}
public class One extends Test {
One() {
System.out.println("One");
}
public static void main(String args[]) {
new One();
}
}
Run Code Online (Sandbox Code Playgroud)
当我们创建一个对象时One,它最初被称为父类构造函数Test().但Test()私有 - 我们得到一个错误.一个很好的例子和摆脱这种情况的方法多少钱?