java接口用interface定义行为规范,只声明不实现;含抽象方法、默认方法、静态方法和私有方法;支持多继承扩展,类可实现多个接口以突破单继承限制。

Java 接口通过 interface 关键字定义行为规范,核心是“只声明、不实现”,强调统一能力契约。它不是类,不能被实例化,而是为多个实现类提供可共用的方法签名和常量标准。
接口的基本定义格式
使用 interface 声明,语法简洁,无需写修饰符:
- 接口名首字母大写,推荐以 I 开头(如
IRunnable),体现“具备某种能力” - 内部方法默认是
public abstract,直接写方法签名即可,例如:void start(); - 内部变量默认是
public static final,即常量,必须初始化,命名建议全大写加下划线(如MAX_SPEED = 120;) - 接口编译后生成
.class文件,但本质是引用类型,不是类
接口中可以包含哪些成员
自 Java 8 起,接口支持更丰富的成员类型,但仍以抽象方法为主干:
你接手一个需求时,是不是经常这样:"改一个小字段 → 结果把不相关的代码也改了"、"需求说得很模糊 → 做着做着发现跑偏了"、"数据库加个字段 → 上线才发现漏了数据兼容"、"做了个新功能 → 一个月后自己都忘了当时怎么设计的"、"写到一半被中断 → 再回来不知道从哪继续";这个 Skill 就是专门解决这些问题的。 它会自动探测你的项目环境(JDK、Spring Boot、ORM、数据库、前端框架),记在
- 抽象方法:无方法体,仅声明,所有实现类必须重写(除非实现类是 abstract)
-
默认方法:用
default修饰,可提供默认实现,实现类可选择重写或直接继承 -
静态方法:用
static修饰,只能通过接口名调用(如USB.connect()),不可被重写 -
私有方法:Java 9+ 支持
private方法,用于默认/静态方法间代码复用,不能被实现类访问
接口的扩展与组合
接口支持多继承式扩展,比类更灵活:
- 用
extends关键字继承一个或多个父接口,例如:interface USB3 extends USB, PowerDelivery - 子接口会继承所有父接口的抽象方法、默认方法和常量
- 一个类可通过
implements同时实现多个接口,用逗号分隔,例如:class Mouse implements USB, Lightable - 这弥补了 Java 单继承限制,让类能“扮演多个角色”
典型规范示例:USB 设备接口
真实场景中,接口定义的是设备接入的最小行为契约:
public interface USB {
int MAX_VOLTAGE = 5; // 常量,等价于 public static final int MAX_VOLTAGE = 5;
void openDevice(); // 抽象方法:必须由鼠标、键盘等各自实现
void closeDevice();
default void reset() { // 默认方法:提供通用重置逻辑
closeDevice();
openDevice();
}
static void logConnection() { // 静态方法:工具性操作,不依赖实例
System.out.println("USB device connected");
}
}
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










