Java接口用interface关键字定义公共行为规范,不提供实现,只声明方法签名和常量;类通过implements实现接口并必须重写所有抽象方法(除非为抽象类);支持default、static(Java 8+)和private(Java 9+)方法,可多实现、多继承,强调“能做什么”的契约。

Java 接口用 interface 关键字定义一组**公共行为规范**,它不提供具体实现,只声明方法签名(契约),由实现类去落实。
接口的基本定义方式
用 interface 声明接口,其中方法默认是 public abstract,字段默认是 public static final(即常量):
public interface Flyable {
int MAX_ALTITUDE = 10000; // 自动是 public static final
void takeOff(); // 自动是 public abstract
void fly();
void land();
}
类通过 implements 实现接口
一个类用 implements 关键字声明自己遵守该接口,并**必须实现所有抽象方法**(除非该类是抽象类):
- 实现类需提供每个接口方法的具体逻辑
- 可同时实现多个接口,用逗号分隔:
class Bird implements Flyable, Singable - 接口方法在实现类中必须是
public(不能降级访问权限)
接口支持默认方法和静态方法(Java 8+)
为避免修改接口导致大量实现类报错,Java 8 允许在接口中添加:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
-
默认方法:用
default修饰,有方法体,实现类可直接用或重写 -
静态方法:用
static修饰,只能通过接口名调用,如Flyable.help()
例如:
public interface Flyable {
default void hover() {
System.out.println("Hovering in place");
}
static void help() {
System.out.println("Use fly() to move forward");
}
}
接口之间的继承与组合
接口可以用 extends 继承其他接口(支持多继承),用于抽象层次的复用与归类:
interface AutonomousFlyable extends Flyable, Navigable- 子接口会继承父接口的所有抽象方法,实现类需一并实现
- 接口不能继承类,也不能被类继承(只能被实现)
接口本质是“能做什么”的契约,不是“是什么”的描述。合理设计接口,能让代码更松耦合、易扩展、便于多态调用。

















