相关疑难解决方法(0)

为什么实现接口的抽象类可能会错过接口方法之一的声明/实现?

当您使用抽象类来实现接口时,Java中会发生奇怪的事情:某些接口的方法可能完全丢失(即既不存在抽象声明也不存在实际实现),但编译器不会抱怨.

例如,给定接口:

public interface IAnything {
  void m1();
  void m2();
  void m3();
}
Run Code Online (Sandbox Code Playgroud)

以下抽象类在没有警告或错误的情况下快速编译:

public abstract class AbstractThing implements IAnything {
  public void m1() {}
  public void m3() {}
}
Run Code Online (Sandbox Code Playgroud)

你能解释一下原因吗?

java abstract-class interface

119
推荐指数
4
解决办法
12万
查看次数

标签 统计

abstract-class ×1

interface ×1

java ×1