Java中类通过implements关键字实现接口,必须提供所有抽象方法的具体实现;可同时实现多个接口(逗号分隔),接口间可用extends多继承;default方法可不重写,static方法不可实现。

Java 中接口通过 implements 关键字被类实现,表示该类承诺提供接口中所有抽象方法的具体行为。
接口定义与 implements 的基本写法
接口用 interface 声明,只包含常量和抽象方法(默认 public abstract)。类用 implements 关键字声明实现该接口,并必须重写全部抽象方法。
- 一个类可以实现多个接口,用逗号分隔:class A implements I1, I2, I3
- 接口之间可用 extends 多继承,但类只能单继承(extends 一个父类),可同时 implements 多个接口
- 从 Java 8 起,接口可含 default 方法(有默认实现)和 static 方法,实现类无需重写它们
必须实现所有抽象方法
如果类实现了接口但未提供某个抽象方法的实现,编译会报错。除非该类声明为 abstract(抽象类可不实现接口方法)。
- 方法签名(名称、参数列表、返回类型)必须严格匹配,访问修饰符只能是 public(不能更严格)
- 若接口方法抛出异常,实现类方法可抛出相同或子类异常,但不能新增受检异常
- 例如:接口 void save();实现类中必须写 public void save() { ... },不能写 private 或 protected
实际使用中的常见场景
接口 + implements 是面向接口编程的核心体现,用于解耦、多态和规范行为。
立即学习“Java免费学习笔记(深入)”;
- 定义统一行为契约:如 List 接口,ArrayList 和 LinkedList 都 implements 它,外部代码只依赖 List 类型
- 回调机制:Swing 中 ActionListener 接口,自定义类 implements 后重写 actionPerformed,交给组件调用
- 策略模式:定义 Strategy 接口,不同算法类 implements 并注入到上下文中动态切换
注意与 extends 的区别
implements 表示“实现契约”,extends 表示“继承结构”。类继承父类用 extends,获得属性和方法;实现接口用 implements,仅承诺行为能力。
- 父类方法可被重写也可直接复用;接口方法必须全新实现(除非是 default 方法)
- 接口不能有构造器、实例字段(只有 public static final 常量),因此 implements 不带来状态继承
- 类可以 extends 一个类 + implements 多个接口,这是 Java 支持有限多继承的方式


















