Code Fix

中級 › 値が変わらないときに疑う変数の隠蔽 › パターン4

値が変わらないときに疑う変数の隠蔽

同名のローカル変数がフィールドを覆い隠します。

 1  public class Main {
 2      int total = 100;
 3      void addAll(int[] nums) {
 4          __________total = 0;
                 ^
 5          for (int n : nums) total += n;
 6      }
 7      public static void main(String[] args) {
 8          Main m = new Main();
 9          m.addAll(new int[]{1, 2, 3});
10          System.out.println(m.total);
11      }
12  }
出力: 100期待: 6 (コンパイルは通っています)

空欄を埋めてビルドを通す

広告
広告スロット(未設定)

値が変わらないときに疑う変数の隠蔽

コンストラクタでthis.が必要な理由を扱います。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)