我在哪里以及如何在Java中创建私有构造函数?

创建单例类时,我们可以在Java中使用私有承包商。Singleton的目的是控制对象的创建,将对象的数量限制为一个。由于只有一个Singleton实例,因此Singleton的任何实例字段在每个类中只会出现一次,就像静态字段一样。单例通常控制对资源的访问,例如数据库连接或套接字。

示例

最简单的实现包括一个私有构造函数和一个用于保存其结果的字段,以及一个名称为的静态访问器方法getInstance()

可以从静态初始化程序块中或更简单地使用初始化程序来分配私有字段。然后,getInstance()方法(必须是公共的)仅返回该实例–

public class SingletonSample {
   private static SingletonSample singleton = new SingletonSample();
   private SingletonSample() { }

   public static SingletonSample getInstance() {
      return singleton;
   }

   protected static void demoMethod( ) {
      System.out.println("demoMethod for singleton");
   }
   
   public static void main(String[] args) {
      SingletonSample tmp = SingletonSample.getInstance( );
      tmp.demoMethod( );
   }
}

输出结果

demoMethod for singleton