从外部只创建一个类的一个实例

时间:2015-03-13 14:55:12

标签: java

我有一个班级Class1。我想只有这个类的一个实例。

现在我可以通过Singleton模式来实现它,但我所看到的是,在这种模式中,类本身管理自己的实例;例如:

public class Class1 {
   private static Class1 INSTANCE;

   // some instance variables...

   // Private Constructor
   private Class1() {...}

   public static Class1 getInstance() {
      synchronized(INSTANCE) {
         if (INSTANCE == null) {
            INSTANCE = new Class1();
         }
      }
      return INSTANCE;
   }

   public void class1Method1() {
      ...
   }
} 

并按

使用其方法
Class1.getInstance().class1Method1();

但在我的情况下,另一个类Class2需要创建类Class1的单个实例。我怎么能这样做?

由于

1 个答案:

答案 0 :(得分:0)

如果您只想在class2中使用class1的实例,可以在class2中执行此操作:

Class1 class1Instance = Class1.getInstance();

希望它有所帮助。