java不支持类的多继承但允许一个类implements多个接口,接口间用逗号分隔;接口可extends多个父接口以聚合能力;自java 8起支持default和static方法,提升复用性与灵活性。

Java 不支持类的多继承(一个类不能 extends 多个类),但允许一个类通过 implements 同时实现多个接口——这是 Java 实现“多重行为复用”的核心机制。
一个类可以 implements 多个接口,用逗号分隔
语法上非常直接:在 class 声明后,用 implements 关键字列出所有要实现的接口,接口名之间用英文逗号分隔。
- 接口之间没有顺序要求,但建议按语义或使用频率合理排列
- 所有接口中声明的抽象方法,都必须在该类中提供具体实现(除非类本身是 abstract)
- 若多个接口中有同名同签名的默认方法(default method),编译器会报错,需在类中显式重写该方法
示例:
interface Flyable { void fly(); }interface Swimmable { void swim(); }
interface Runnable { void run(); }
class Duck implements Flyable, Swimmable, Runnable {
public void fly() { System.out.println("Duck is flying"); }
public void swim() { System.out.println("Duck is swimming"); }
public void run() { System.out.println("Duck is running"); }
}
接口可以继承其他接口,进一步组合能力
接口支持多继承(用 extends),一个接口可同时扩展多个父接口。这样,类只需 implements 一个“聚合接口”,就能间接获得多种能力。
当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
- 例如定义 AnimalAction extends Flyable, Swimmable, Runnable,后续类只需 implements AnimalAction
- 这种设计提升了复用性与可读性,避免每个类重复声明一长串接口
- 注意:接口继承的是方法签名,不是实现;default 方法仍需由具体类决定是否重写
结合 default 方法和 static 接口方法,减少实现负担
自 Java 8 起,接口可包含 default 和 static 方法,它们有方法体,不强制子类实现。
- default 方法提供通用逻辑(如日志、校验),子类可直接用或选择性覆盖
- static 方法类似工具方法,通过接口名直接调用(如 Flyable.logFlight())
- 这使得接口不再只是“契约”,而是能承载部分可复用行为,让 implements 更轻量、更灵活
实际应用中注意冲突与设计意图
当多个接口存在同名方法时,JVM 按明确优先级解决:
- 类中实现的方法 > 接口 default 方法
- 若两个接口都有同 signature 的 default 方法,必须在类中 override,否则编译失败
- 设计接口时尽量遵循单一职责,命名清晰(如 startEngine() vs powerOn()),降低意外冲突概率
不复杂但容易忽略。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










