引数なしコンストラクタ

JAVA

前回に書いたクラスで、コンストラクタを呼び出した時は以下のように書きました。

TestClass tc = new TestClass(100, 200);

これはコンストラクタを呼ぶと同時に引数、100、200をつけています。
このコンストラクタの呼び方を変更して、引数をつけないで呼び出す方法もやってみます。
具体的には下記のように記述します。

TestClass tc = new TestClass();

また、ひとつのクラスの中にはコンストラクタが複数あってもエラーにはならないです。
全体として下記のように記述してみました。
詳しい動作検証は、また後ほどやります。

public class TestClass2 {

    public static void main(String[] args) {
        
        int retA;
        
        System.out.print("hello\n");
        
        //これだとエラーになる
        //TestClassSub tc = new TestClassSub();
        
        //引数をつけるとエラーにならない(コンストラクタで使う為?)
        TestClassSub tc = new TestClassSub(100, 200);
        
        retA = tc.getAB();
        System.out.print("retA -> " + retA);
        
    }
}


class TestClassSub {
    int TestA;
    int TestB;
     
    TestClassSub(int a, int b) {
        //やっていることは「setTest」メソッドを同じ
        TestA = a;
        TestB = b;
    }
     
    TestClassSub() {
    	//引数なしコンストラクタ用
    	
    }
     
    void setTest(int a, int b){
        TestA = a;
        TestB = b;
    }
    int getAB(){
        return TestA + TestB;
    }
}

実行した結果は次のようになります

hello
retA -> 0

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です