java 如何定义接口
定义接口的基本语法
在Java中,接口通过interface关键字定义,语法如下:
public interface 接口名 {
// 常量(默认 public static final)
String CONSTANT = "value";
// 抽象方法(默认 public abstract)
void methodName();
// 默认方法(Java 8+)
default void defaultMethod() {
System.out.println("Default method");
}
// 静态方法(Java 8+)
static void staticMethod() {
System.out.println("Static method");
}
// 私有方法(Java 9+)
private void privateMethod() {
System.out.println("Private method");
}
}
接口成员规则
- 抽象方法:隐式为
public abstract,无方法体,需由实现类重写。 - 常量:隐式为
public static final,必须初始化。 - 默认方法:使用
default修饰,提供默认实现,实现类可重写。 - 静态方法:通过接口名直接调用,不可被实现类重写。
- 私有方法(Java 9+):仅限接口内部调用,用于拆分默认方法或静态方法的逻辑。
示例:完整接口定义
public interface Animal {
String TYPE = "Living Being"; // 常量
void eat(); // 抽象方法
default void breathe() { // 默认方法
System.out.println("Breathing...");
}
static void describe() { // 静态方法
System.out.println("This is an animal interface");
}
}
接口的实现
类通过implements关键字实现接口,必须重写所有抽象方法:
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("Dog eats meat");
}
}
接口的多继承
Java支持接口多继承,一个接口可继承多个父接口:

public interface Swimmer {
void swim();
}
public interface Flyer {
void fly();
}
public interface Bird extends Swimmer, Flyer { // 多继承
void chirp();
}
注意事项
- 接口不能实例化,需通过实现类使用。
- 实现类需提供所有抽象方法的具体实现,否则必须声明为抽象类。
- 默认方法冲突时,实现类需显式重写并指定调用逻辑(通过
接口名.super.方法名())。






