中級 › 値が変わらないときに疑う変数の隠蔽 › パターン2
値が変わらないときに疑う変数の隠蔽
同名のローカル変数がフィールドを覆い隠します。
1 public class Main { 2 int value; 3 4 Main(int value) { 5 ______value = value; ^ 6 } 7 public static void main(String[] args) { 8 System.out.println(new Main(5).value); 9 } 10 }
出力: 0期待: 5 (コンパイルは通っています)
空欄を埋めてビルドを通す
引数とフィールドが同名のとき、引数が優先されます。フィールドを指すにはthis.が要ります。
次の問題