正确。java中接口支持多继承,一个接口可通过extends关键字同时继承多个父接口,各接口间用英文逗号分隔,如interface x extends a, b, c;而类仅支持单继承。

Java中接口本身支持多继承,用 extends 关键字一次性继承多个接口,语法就是 interface X extends A, B, C。这和类的 extends(只能跟一个)不同,接口的 extends 后面可以列多个父接口,用英文逗号分隔。
接口多继承怎么写
直接在定义接口时用 extends 拉多个接口即可:
- 一个接口可以继承零个、一个或多个其他接口
- 所有被继承的接口中的抽象方法,都会“合并”到子接口中
- 子接口实现类必须实现这些方法(除非是默认/静态方法)
示例:
interface Flyable { void fly(); }
interface Swimmable { void swim(); }
interface Animal extends Flyable, Swimmable { void eat(); }
此时 Animal 接口就包含了 fly()、swim() 和 eat() 三个抽象方法。
实现类要怎么做
类实现这个多继承接口时,得把所有“源头方法”都覆盖:
- 不管方法来自哪个父接口,只要最终落在
Animal里,就得实现 - 实现类写
class Bird implements Animal,就必须提供fly()、swim()、eat()的具体逻辑 - 如果某个父接口后来加了新方法,所有实现类会立刻编译报错——这是接口多继承带来的强契约性
注意默认方法冲突
如果多个父接口提供了同名默认方法(Java 8+),子接口不会自动合并,而是在实现类中触发冲突:
- 比如
Flyable和Swimmable都定义了default void move() { ... } - 那么实现类
Bird必须显式重写move(),否则编译失败 - 重写时可用
Flyable.super.move()或Swimmable.super.move()显式调用某一方
和类继承的区别很关键
别混淆:接口多继承(extends A, B)和类实现多接口(implements A, B)是两回事:
- 前者是接口之间的“能力叠加”,用于定义更丰富的契约
- 后者是类对多个契约的承诺,用于获得多种行为能力
- 类永远只能
extends一个类,但能implements多个接口,也能实现一个“多继承来的接口”
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











