私は、Javaのコンストラクタ、デザインパターン、およびいくつかのパラメータを待っている場合は、パラメータのないコンストラクタでオブジェクトを初期化する良い方法について、いくつかの同僚と議論していました。未設定のコンストラクタから高度なコンストラクタを呼び出すのに適したスタイルですか?
古いものの一つは、いつものようなものを実装する彼の方法を思い付いた:
public class Foo {
public Foo() {
this(0,0,0);
}
public Foo(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
..
}
私の質問があり、良いスタイルと何が正確にその行動であるということですか?私が理解から
は次のようになります。
- そのパラメータ設定とそのタイプの新しいオブジェクトを構築し、新しいものへの独自の基準を設定するパラメータ化コンストラクタを呼び出す、最初のオブジェクトをインスタンス化します。したがって、GCは最初に作成されたものを削除します。
オブジェクトをインスタンス化するのはコンストラクタではなく、 'new'キーワードです。コンストラクタは、オブジェクトの初期化のみを行います。 – helpermethod
それは常にメモリを割り当てる新しいキーワードであり、コンストラクタはオブジェクトの充電にすぎないのですか? (C++の場合も?) – Stefan