java如何写一个接口
在Java中定义接口
接口在Java中是一种抽象类型,用于定义一组方法规范,供类实现。接口通过interface关键字声明,可以包含抽象方法、默认方法、静态方法和常量。
public interface MyInterface {
// 常量(默认为 public static final)
String CONSTANT = "接口常量";
// 抽象方法(默认为 public abstract)
void abstractMethod();
// 默认方法(Java 8+)
default void defaultMethod() {
System.out.println("默认方法实现");
}
// 静态方法(Java 8+)
static void staticMethod() {
System.out.println("静态方法实现");
}
}
实现接口的类
类使用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) {
MyClass obj = new MyClass();
obj.abstractMethod(); // 调用实现的抽象方法
obj.defaultMethod(); // 调用默认方法
MyInterface.staticMethod(); // 调用接口静态方法
System.out.println(MyInterface.CONSTANT); // 访问接口常量
}
}
接口的特性
- 多继承:类可以实现多个接口,解决Java单继承的限制
- 函数式接口:只有一个抽象方法的接口可用作Lambda表达式
- 标记接口:没有方法的接口(如
Serializable) - 嵌套接口:接口可以嵌套在类或其他接口中
接口与抽象类的区别
- 接口不能有构造方法,抽象类可以有
- 接口只能有
public static final常量,抽象类可以有任意字段 - 接口方法默认是
public的,抽象类方法可以有各种访问修饰符 - 类可以实现多个接口,但只能继承一个抽象类






