我们可以在Java中将构造函数声明为私有的吗?

是的,我们可以将构造函数声明为private。如果将构造函数声明为私有,则无法创建类的对象。我们可以在Singleton Design Pattern中使用此私有构造函数 。

私人承建商的条件

  • 一个私有的构造不允许一个类被继承。

  • 一个私人constructo [R不允许创建类之外的对象。

  • 如果类中所有常量方法都存在,则可以使用私有构造函数。

  • 如果所有方法都是静态的,那么我们可以使用私有构造函数。

  • 如果我们尝试扩展具有私有构造函数的类,则会发生编译时错误。

示例

class SingletonObject {

   private SingletonObject() {

      System.out.println("In a private constructor");

   }

   public static SingletonObject getObject() {

      // we can call this constructor

      if (ref == null)

         ref = new SingletonObject();

      return ref;

   }

   private static SingletonObject ref;

}

public class PrivateConstructorDemo {

   public static void main(String args[]) {

      SingletonObject sObj = SingletonObject.getObject();

   }

}

输出结果

In a private constructor

以上是 我们可以在Java中将构造函数声明为私有的吗? 的全部内容, 来源链接: utcz.com/z/345610.html

回到顶部