java如何写一个接口
定义接口
在Java中,使用interface关键字定义接口。接口可以包含抽象方法(默认public abstract)、默认方法(Java 8+)、静态方法(Java 8+)和常量(默认public static final)。

public interface MyInterface {
// 抽象方法(隐式public abstract)
void abstractMethod();
// 默认方法(Java 8+)
default void defaultMethod() {
System.out.println("默认方法实现");
}
// 静态方法(Java 8+)
static void staticMethod() {
System.out.println("静态方法调用");
}
// 常量
String CONSTANT = "接口常量";
}
实现接口
类通过implements关键字实现接口,必须实现所有抽象方法(除非是抽象类)。

public class MyClass implements MyInterface {
@Override
public void abstractMethod() {
System.out.println("抽象方法实现");
}
// 可选择重写默认方法
@Override
public void defaultMethod() {
System.out.println("重写默认方法");
}
}
使用接口
通过接口类型引用实现类的对象,调用方法时遵循多态规则。
public class Main {
public static void main(String[] args) {
MyInterface obj = new MyClass();
obj.abstractMethod(); // 输出:抽象方法实现
obj.defaultMethod(); // 输出:重写默认方法(若未重写则调用默认实现)
MyInterface.staticMethod(); // 输出:静态方法调用
System.out.println(MyInterface.CONSTANT); // 输出:接口常量
}
}
接口继承
接口支持多继承,通过extends扩展其他接口。
public interface ParentInterface {
void parentMethod();
}
public interface ChildInterface extends ParentInterface {
void childMethod();
}
// 实现类需实现所有父接口方法
public class ChildClass implements ChildInterface {
@Override
public void parentMethod() {
System.out.println("父接口方法");
}
@Override
public void childMethod() {
System.out.println("子接口方法");
}
}
注意事项
- 接口不能实例化,只能通过实现类使用。
- 从Java 9开始,接口允许定义私有方法(
private)。 - 默认方法用于扩展接口功能而不破坏现有实现。
- 常量命名通常全大写,多个单词用下划线分隔(如
MAX_VALUE)。






