java接口用interface定义,声明行为契约,默认方法为public abstract、字段为public static final;java 8起支持default和static方法;接口可多继承,类通过implements实现并须覆盖抽象方法。

Java 接口用 interface 关键字定义,核心是声明行为契约,不提供具体实现(Java 8 起允许 default 和 static 方法作为例外)。
基础语法结构
最简形式如下:
- 以 interface 开头,后接接口名(推荐首字母大写、驼峰命名,如
Flyable) - 接口体用一对花括号
{}包裹 - 接口中所有方法默认是
public abstract,可省略修饰符 - 所有字段默认是
public static final,即常量,声明时必须初始化
示例:
interface Flyable {
int MAX_HEIGHT = 10000; // 等价于 public static final int MAX_HEIGHT = 10000;
void takeOff(); // 等价于 public abstract void takeOff();
void fly();
void land();
}
Java 8+ 的扩展能力
从 Java 8 开始,接口可包含带实现的方法:
-
default 方法:用
default修饰,实现类可直接继承或选择重写,用于向后兼容新增功能 -
static 方法:用
static修饰,只能通过接口名调用(如Flyable.checkWeather()),不能被实现类继承
示例:
interface Flyable {
void takeOff();
default void hover() {
System.out.println("Hovering in place");
}
static void checkWeather() {
System.out.println("Checking weather conditions.");
}
}
接口的修饰符与继承规则
接口本身可用的修饰符有限:
- 顶级接口(非嵌套)只能用
public或不写(默认包级私有) - 不能用
private、protected、final、abstract(加abstract合法但冗余) - 接口支持多继承:用
extends同时继承多个接口,用逗号分隔 - 类实现接口用
implements,可同时实现多个接口
注意:若多个接口含同名 default 方法,实现类必须显式重写该方法,否则编译失败。
实际使用要点
定义接口后,需由类来实现它:
- 类用
implements 接口名声明实现关系 - 必须实现接口中所有
public abstract方法(除非该类声明为abstract) - 可直接调用 default 方法,也可通过
super.方法名()在重写中调用父接口默认实现 - 静态方法只能通过接口名访问,不可被继承或重写
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











