java接口如何写
Java接口的基本语法
Java接口使用interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。接口默认是抽象的,所有方法默认是public abstract,变量默认是public static final。
public interface MyInterface {
// 抽象方法
void abstractMethod();
// 默认方法(Java 8+)
default void defaultMethod() {
System.out.println("Default method implementation");
}
// 静态方法(Java 8+)
static void staticMethod() {
System.out.println("Static method implementation");
}
// 常量
String CONSTANT = "Interface constant";
}
接口的实现
类通过implements关键字实现接口,必须实现接口中的所有抽象方法(除非类是抽象的)。

public class MyClass implements MyInterface {
@Override
public void abstractMethod() {
System.out.println("Implemented abstract method");
}
}
多接口实现
一个类可以实现多个接口,用逗号分隔。
public class MyClass implements Interface1, Interface2 {
// 实现所有接口的抽象方法
}
接口继承
接口可以继承其他接口,使用extends关键字。

public interface ChildInterface extends ParentInterface {
// 可以添加新的抽象方法
void newMethod();
}
函数式接口(Java 8+)
只有一个抽象方法的接口称为函数式接口,可以用@FunctionalInterface注解标注。
@FunctionalInterface
public interface MyFunctionalInterface {
void singleAbstractMethod();
// 可以有多个默认或静态方法
default void defaultMethod() {}
static void staticMethod() {}
}
接口中的私有方法(Java 9+)
Java 9允许在接口中定义私有方法,用于代码复用。
public interface MyInterface {
default void defaultMethod() {
privateMethod();
}
private void privateMethod() {
System.out.println("Private method");
}
}
接口与抽象类的区别
- 接口不能有实例字段(除了常量),抽象类可以有实例字段
- 接口方法默认是抽象的,抽象类可以有具体方法
- 类可以实现多个接口,但只能继承一个抽象类
- 接口不能有构造方法,抽象类可以有
最佳实践
- 优先使用接口而非抽象类,除非需要共享代码或状态
- 使用接口定义API契约
- 为接口方法添加Javadoc说明
- 考虑使用默认方法提供向后兼容性
- 函数式接口适合lambda表达式和方法引用






