报告其中比较的类型为接口,比较的表达式的类的类型既不实现比较的接口,也不实现所比较接口的任何可见子类的 instanceof 表达式。

尽管这可能是有意为之,但通常这样的结构很可能表明有错误,其中得到的 instanceof 表达式的求值结果总是为 false

示例:


  interface I1 {}

  interface I2 {}

  interface I3 extends I1 {}

  static class Sub1 implements I1 {}

  static class Sub2 extends Sub1 implements I2 {
    void test(Sub1 sub1) {
      if (sub1 instanceof I3) { // 这里的 'I3' 为不兼容的接口
      }
    }
  }