java接口是行为契约,用interface定义,类通过implements实现;支持多实现以替代多重继承,提升解耦与扩展性,jdk 8+引入default和static方法,接口可extends继承,实现类须覆盖所有抽象方法且访问权限必须为public。

Java 接口是行为契约,不是类,用 interface 定义,类通过 implements 实现它;一个类可同时实现多个接口,这是 Java 支持“多重能力”的标准方式,也是解耦和扩展的关键手段。
接口怎么定义:语法干净、约束明确
接口只声明“能做什么”,不写具体怎么做。所有成员自带隐式修饰符,无需显式写出:
- 方法默认是 public abstract(没方法体),比如
void start(); - 变量默认是 public static final(必须初始化),比如
int MAX_SPEED = 120; - 不能有构造器、普通字段、实例方法或静态代码块
- JDK 8+ 可添加
default方法(有实现,供实现类直接继承)和static方法(通过接口名调用)
一个类如何实现多个接口:逗号分隔,全部覆盖
用 implements 后接多个接口名,用英文逗号分隔。类必须提供所有抽象方法的具体实现(除非声明为 abstract):
- 如果多个接口中有同名同参的方法(如都定义了
void powerOn()),只需实现一次 - 若两个接口定义了相同方法名但返回类型冲突(如一个返回
void,另一个返回boolean),编译直接报错,无法同时实现 - 实现类中重写方法的访问修饰符必须是 public(不能更弱)
接口之间也能“继承”:用 extends 复用契约
接口支持单继承或多继承其他接口,使用 extends 关键字(不是 implements):
- 例如:
interface SmartDevice extends Powerable, Connectable - 子接口会继承父接口的所有抽象方法,实现该子接口的类,必须一并实现所有继承来的方法
- 接口继承不涉及实现逻辑,也不触发 default 方法的冲突处理——冲突只在类实现时出现
为什么多实现有用:替代多重继承,支撑真实场景
Java 类只能单继承,但现实中的对象常具备多种独立能力。接口多实现让设计更贴近业务:
- 无人机类
Drone可同时实现Flyable、CameraControl、Autonomous - 支付服务类可实现
Payable、Refundable、Loggable,职责清晰分离 - 配合接口引用多态(如
Flyable f = new Drone();),便于替换实现、编写通用逻辑
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











