フィールドの初期化を行うには、コンストラクタの内部でもよく、コンストラクタの外でも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