【发布时间】:2018-06-13 09:39:47
【问题描述】:
好奇心让我问了这个问题。我想知道用什么来实例化一个类更好。
我可以使用构造函数来做到这一点:
public ExampleClass(someParameters){}
,或者我可以使用公共静态方法来做到这一点:
public static ExampleClass getInstance(someParameters){return new ExampleClass}
我个人喜欢使用静态方法来实例化一个类,因为这样实例化一个类看起来更简洁。但是,我真的很感谢对此的一些支持意见,因为我只是一个想要编写更专业的代码的爱好者。
【问题讨论】:
-
请注意,您的第二个示例无法编译。它需要一个返回类型和方法名。
-
使用静态方法,您可以选择返回现有对象或子类型的对象。这就是为什么工厂方法是一种非常常见的模式。
-
“因为它看起来更干净” - whaaat?您希望在实例化类时不看到
new关键字? -
它会编译,因为我返回一个 ExampleClass 的对象..
-
看起来您已经看到了单例设计模式的实现。为什么你想让ctor是静态的?请查看stackoverflow.com/questions/7780406/…并与您的问题进行比较
标签: java class object constructor