フィールドの初期化を行うには、コンストラクタの内部でもよく、コンストラクタの外でもOK。
前回に投稿したTestClassSubクラスのフィールドを初期化するには、次のように書いてもOK。
class TestClassSub { int TestA = 10; int TestB = 30; 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; } }
初期化されていないフィールドの値は、その型に応じて初期化される。
変数の値については、未定義になる。
具体的には、値は次のようになる。
Boolean型 false;
整数型 0
浮動小数点型 0.0
参照型 null