报告对其中的调用由声明类的子类而不是声明类本身限定的内部类和嵌套类的访问。

Java 允许这样的限定,但是这样的访问可能表明继承和重写之间存在难以捉摸的混淆。

示例:


  class Super {
    static class Inner {}
  }

  class Sub extends Super {
    void test() {
      Sub.Inner s = new Sub.Inner(); // 'Inner' 类在 'Super' 类中声明,但通过 'Sub' 类引用
    }
  }

在应用快速修复后:


  class Super {
    static class Inner {}
  }

  class Sub extends Super {
    void test() {
      Super.Inner s = new Super.Inner();
    }
  }