我想在另一个类中创建Base类的对象,但Base类构造函数被定义为private
这是我的代码
public class Main
{
public static void main(String ... args)
{
//Base objBase = new Base();
//objBase.show();
}
}
class Base
{
private Base()
{
}
public void show()
{
System.out.println("Base Class Show() Method");
}
}
答案 0 :(得分:4)
仍允许Base
内的代码调用构造函数,这意味着可以用静态方法创建对象:
class Base
{
private Base()
{
}
public void show()
{
System.out.println("Base Class Show() Method");
}
public static Base createBase() {
return new Base();
}
}
然后调用方法创建一个对象:
Base objBase = Base.createBase();
objBase.show();
答案 1 :(得分:1)
如果类具有私有构造函数,则无法创建类的对象。可以构建对象,但只能在内部构建。就是这样。
在某些常见情况下,私有构造函数可能很有用:
希望这有帮助。