如果在类周围的代码中存在具有相同签名的方法,则报告从匿名类、内部类或局部类对超类方法的调用。 在这种情况下,看似调用了来自周围代码的方法,而实际上调用的是来自超类的方法。

为了阐明代码的意图,建议对方法调用添加显式的 super 限定符。

示例:


  class Parent {
    void ambiguous(){}
  }

  class Example {
    void ambiguous(){}

    class Inner extends Parent {
      void example(){
        ambiguous(); //警告
      }
    }
  }
  

在应用快速修复后:


  class Parent {
    void ambiguous(){}
  }

  class Example {
    void ambiguous(){}

    class Inner extends Parent {
      void example(){
        super.ambiguous();
      }
    }
  }