java接口定义行为规范,含常量和抽象方法(java 8+支持default/static),类通过implements实现并重写抽象方法,支持多态、多实现及接口继承,默认方法提升复用性。

在 Java 中,接口(interface)是用来定义统一行为规范的核心机制。它不关心具体怎么实现,只规定“能做什么”,让不同类遵循同一套契约,从而实现解耦、可扩展和多态。
用 interface 声明抽象行为
接口用 interface 关键字定义,里面只能包含:
- public static final 的常量(修饰符可省略)
- public abstract 的方法(修饰符可省略,Java 8+ 还支持 default 和 static 方法)
例如,定义一个表示“可移动”的行为规范:
interface Movable {
int MAX_SPEED = 120; // 隐式 public static final
void move(); // 隐式 public abstract
void stop();
}让类通过 implements 实现接口
任何类只要声明 implements 接口名,就必须提供接口中所有抽象方法的具体实现(除非该类是抽象类)。
class Car implements Movable {
public void move() {
System.out.println("Car is moving at up to " + MAX_SPEED + " km/h");
}
public void stop() {
System.out.println("Car stopped.");
}
}
<p>class Bicycle implements Movable {
public void move() {
System.out.println("Bicycle is pedaling...");
}
public void stop() {
System.out.println("Bicycle braked.");
}
}</p>这样,Car 和 Bicycle 虽然完全不同,但都遵守了 Movable 的行为约定,可以被统一处理。
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
用接口类型做参数或变量,体现多态性
真正发挥接口价值的地方,在于把接口作为方法参数、返回值或变量类型:
void operate(Movable m) {
m.move();
m.stop();
}
<p>// 调用时传入任意 Movable 实现类的对象
operate(new Car()); // 输出 Car 行为
operate(new Bicycle()); // 输出 Bicycle 行为</p>无需修改 operate 方法,就能支持未来新增的任何 Movable 实现——这就是面向接口编程带来的灵活性。
多个接口与默认方法增强复用性
一个类可以 implements 多个接口;接口之间可用 extends 继承;Java 8+ 的 default 方法还能提供默认实现,减少重复代码:
interface Flyable {
default void takeOff() {
System.out.println("Taking off...");
}
void fly();
}
<p>interface Airplane extends Movable, Flyable {
// 继承 move(), stop(), takeOff(), fly()
}</p><p>class Drone implements Airplane {
public void move() { /<em> ... </em>/ }
public void stop() { /<em> ... </em>/ }
public void fly() { /<em> ... </em>/ }
// takeOff() 可直接使用默认实现
}</p>这样既保持规范统一,又避免每个实现类都重写通用逻辑。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










