これは個人の好みとワークフローの問題かもしれませんが、それ以上の場合は、とにかく尋ねるべきだと思います.
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);
createMap()
Plugin クラスでは、コンストラクターで呼び出されないため、後者でのみ実行されるという事実に加えて?
この場合、明確にするために、Plugin
メインクラスと見なされます。
私は中間レベルのプラグインを作成できる Java 構文を十分に知っていますが、これを行う 2 つの方法の違いを知るには Java 自体について十分ではありません。
編集:たとえば、Maps
作成にMap
使用したクラスは、オブジェクトの代わりにクラスを使用して呼び出される静的ファクトリ メソッドを使用します (その用語を正しく使用していることを願っています)。