2017-08-26 7 views
-2

コンパイル時にデフォルトのパラメータのないコンストラクタが作成された場合、なぜゼロ引数コンストラクタを定義したいのですか?そうすることに何らかの利点はありますか?コンパイル時にデフォルトが作成されないようにするために、クラス内にゼロ引数のコンストラクタを定義する方が良い場合はありますか?ゼロ引数コンストラクタのメリットは何ですか?いつ理想ですか?

答えて

3

シンプル:必要なときに定義します。

たとえば、あるクラスのフィールドを初期化するために他のコンストラクタによって使用されるいくつかのデフォルト値を持つ別のコンストラクタを呼び出すことができます。

スーパーコンストラクターを呼び出す以外に何もしない "空の"コンストラクターを書き留めると、あなたは無駄なコードを書き留めてしまいます。

+0

他のクラスのコンストラクタにアクセスして呼び出したい場合には理想的ですか? – AnchovyLegend

+0

私の答えを読む - あなたはそれをする必要があるときにそれを使用します。 – GhostCat

-3

クラスの新しいオブジェクトが作成されるとすぐにinit関数を実行する必要があります。例:

パブリッククラスの例{

public Example() { 
     init(); 
    } 

    public void init() { 
     //do some Stuff 
    } 

}

しかし、単に何もせずに、それを定義するsensefullではありません。

0

ユーザーがパラメータ化されたコンストラクタを定義していない場合、内部的にデフォルトコンストラクタが追加されます。初期化されていないフィールドをデフォルト値に初期化します。 Like int to 0 string to null object to null

関連する問題