引数なしコンストラクタ

JAVA

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

1
TestClass tc = new TestClass(100, 200);

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

1
TestClass tc = new TestClass();

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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;
    }
}

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

1
2
hello
retA -> 0

コメントを残す

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