这可能只是个人品味和工作流程的问题,但如果不止于此,我觉得无论如何我都应该问。
在 Java 中,通过构造函数创建实例和通过静态方法(返回实例)之间有什么区别?例如,从我正在处理的项目中获取这段代码(在发布时手工编写,因此采取了一些捷径和自由):
Plugin main;
Map<int, int> map;
public Handler(Plugin main) {
this.main = main;
}
public static Handler init(Plugin main) {
Handler handler = new Handler(main);
handler.createMap();
}
public void createMap() {
this.map = Maps.newHashMap();
}
在这种情况下,使用之间有什么区别
Handler handler = new Handler(this);
和
Handler handler = Handler.init(this);
在 Plugin 类中,除了createMap()
只在后者中运行,因为它没有在构造函数中调用?
为了澄清,在这种情况下,Plugin
被认为是主类。
我知道足够多的 Java 语法来编写中级插件,但对 Java 本身还不够了解,无法知道这两种方式之间的区别。
编辑:例如,Maps
我用来创建的类Map
使用静态工厂方法(我希望我正确使用该术语)使用类而不是对象调用。