前回に書いたクラスで、コンストラクタを呼び出した時は以下のように書きました。
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