【发布时间】:2017-05-01 10:27:12
【问题描述】:
我学习Java,想知道下面的类初始化实现有什么区别。
[选项 1]
public class LaunchHandler implements SomeItf{
public static LaunchHandler create(ArrayList<String> params){
LaunchHandler self = new LaunchHandler(params);
return self;
}
private LaunchHandler(ArrayList<String> params){
mParams = params;
}
}
所以我称之为:
SomeItf launch = LaunchHandler.create(params);
[选项 2]
public class LaunchHandler implements SomeItf{
public LaunchHandler(ArrayList<String> params){
mParams = params;
}
}
我称之为:
SomeItf launch = new LaunchHandler(params);
对我来说,这两个选项都做同样的事情,但我在大项目中看到了第一个选项。
第一个选项的优势是什么?
有人可以传播光吗?
【问题讨论】:
-
你必须有所有的工厂方法。 Enterprise quality code, right here.
标签: java