报告对超类中从子类构造函数中声明的字段的赋值或修改。

最好在其自己的构造函数中初始化超类的字段,并在子类中委托给该构造函数。 如果它在构造后没有改变,这还将允许声明一个字段 final

示例:


  class Super {
    int x;
  }
  class Sub extends Super {
    Sub(int _x) {
      // Warning: x is declared in a superclass
      x = _x;
    }
  }

要避免此问题,请声明超类构造函数:


  class Super {
    final int x;

    Super(int _x) {
      x = _x;
    }
  }
  class Sub extends Super {
    Sub(int _x) {
      super(_x);
    }
  }