【问题标题】:constructors in java [duplicate]java中的构造函数[重复]
【发布时间】:2011-03-22 15:49:21
【问题描述】:

可能的重复:
Why do we need a private constructor?
Can a constructor in Java be private?

在java中如何使用私有构造函数?

【问题讨论】:

  • 每个人都知道这是一个重复的问题。每个人都知道它将在 5 分钟内关闭。每个人都知道它已经在其他问题中得到了彻底的回答。但是无论如何,每个人仍然想回答它以获得他们宝贵的声望和闪亮的徽章。回答这样的问题绝对不会给网站带来任何好处,只会鼓励人们发布懒惰的问题。我没有对答案投反对票,但我确实对这个问题投了反对票,而且总的来说,我认为人们不应该回答已经被标记为完全重复的问题。有人如何支持这个问题是荒谬的。
  • 所有人?我不知道那是重复的。这是毫无根据的说法。
  • 但是每次你得到这样的问题的新答案?每次您找到新的解决方案时,都不会提出一个以上的问题

标签: java


【解决方案1】:

私有构造函数允许类的开发者更好地控制如何实例化这个类,例如根本没有(对于实用程序类),仅在内部(对于单例)或仅通过工厂方法。

【讨论】:

    【解决方案2】:

    在私有构造函数的帮助下,您还可以实现SingleTon 模式。

    类似这样的事情:

    public class ClassicSingleton {
       private static ClassicSingleton instance = null;
       private ClassicSingleton() {
          // Exists only to defeat instantiation.
       }
       public static ClassicSingleton getInstance() {
          if(instance == null) {
             instance = new ClassicSingleton();
          }
          return instance;
       }
    }
    

    【讨论】:

    • 我添加了一件事,您可以在单例模式中使用私有构造函数,因为可能的重复答案解释了所有事情,即只是想证明您可以在哪里使用它
    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多