java如何编写接口
编写 Java 接口的基本语法
在 Java 中,接口通过 interface 关键字定义。接口可以包含抽象方法、默认方法、静态方法和常量。接口的基本语法如下:
public interface InterfaceName {
// 常量(默认是 public static final)
String CONSTANT = "value";
// 抽象方法(默认是 public abstract)
void abstractMethod();
// 默认方法(Java 8+)
default void defaultMethod() {
System.out.println("Default method implementation");
}
// 静态方法(Java 8+)
static void staticMethod() {
System.out.println("Static method implementation");
}
}
实现接口的类
类通过 implements 关键字实现接口,必须实现接口中的所有抽象方法(除非是抽象类):
public class ClassName implements InterfaceName {
@Override
public void abstractMethod() {
System.out.println("Implemented abstract method");
}
}
接口的多重实现
Java 支持一个类实现多个接口:
public class MultiImplClass implements Interface1, Interface2 {
// 实现所有接口的抽象方法
}
接口的继承
接口可以通过 extends 关键字继承其他接口,支持多重继承:

public interface ChildInterface extends ParentInterface1, ParentInterface2 {
// 可以添加新的抽象方法或覆盖父接口的默认方法
}
函数式接口(Java 8+)
只有一个抽象方法的接口称为函数式接口,可以用 @FunctionalInterface 注解标记:
@FunctionalInterface
public interface SimpleFunctionalInterface {
void execute();
}
接口与抽象类的区别
- 接口:支持多重继承,只能包含抽象方法(Java 8 前)、默认方法、静态方法和常量。
- 抽象类:单继承,可以包含抽象方法、具体方法、成员变量和构造方法。
实际应用示例
定义接口:

public interface Vehicle {
void start();
void stop();
default void honk() {
System.out.println("Honking!");
}
}
实现接口:
public class Car implements Vehicle {
@Override
public void start() {
System.out.println("Car started");
}
@Override
public void stop() {
System.out.println("Car stopped");
}
}
使用接口:
public class Main {
public static void main(String[] args) {
Vehicle car = new Car();
car.start();
car.stop();
car.honk(); // 调用默认方法
}
}
接口的默认方法冲突
如果类实现了多个含有相同默认方法的接口,需显式解决冲突:
public class ConflictClass implements InterfaceA, InterfaceB {
@Override
public void conflictingMethod() {
InterfaceA.super.conflictingMethod(); // 显式选择其中一个实现
}
}
通过以上方式,可以灵活地使用 Java 接口实现多态和模块化设计。






