如果我们在课堂上有私人构造函数会怎么样? (在Java中)
答案 0 :(得分:2)
您只能在当前类中使用该构造函数。
答案 1 :(得分:2)
这意味着(没有反射)构造函数不能在类之外访问,因此其他类将无法调用它。只有您的类的成员才能创建其对象。
class A{
private A(){} //private constructor
private static A a = new A(); //you can create A object as a field
void test(){
new A(); // you can create A object inside methods of your class
}
class Inner{ // inner classes are also members of class so you can use
// A constructor here
A a = new A(); //OK
void test(){
new A(); //OK
}
}
}
class B{
new A();//error: we don't have access to A constructor
}
答案 2 :(得分:0)
您只能从类中的其他构造函数或类中的静态方法调用它。
答案 3 :(得分:0)
这通常是限制从此类创建对象的一种方法。这意味着您无法从类中创建对象。