java接口如何写
Java 接口的写法
在 Java 中,接口(Interface)是一种完全抽象的类,用于定义一组方法规范,但不提供具体实现。接口通过 interface 关键字声明。

基本语法
public interface InterfaceName {
// 常量(默认是 public static final)
String CONSTANT = "value";
// 抽象方法(默认是 public abstract)
void methodName();
// 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 methodName() {
System.out.println("Method implementation");
}
}
接口的继承
接口可以继承其他接口,使用 extends 关键字,支持多继承。
public interface ChildInterface extends ParentInterface1, ParentInterface2 {
void newMethod();
}
示例代码
// 定义接口
public interface Animal {
String TYPE = "Animal"; // 常量
void eat(); // 抽象方法
default void breathe() { // 默认方法
System.out.println("Breathing...");
}
static void displayType() { // 静态方法
System.out.println("Type: " + TYPE);
}
}
// 实现接口
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("Dog is eating");
}
}
// 使用接口
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 调用实现的方法
dog.breathe(); // 调用默认方法
Animal.displayType(); // 调用静态方法
}
}
接口的特性
- 完全抽象:接口中的方法默认是抽象的(Java 8 之前)。
- 多继承:一个类可以实现多个接口,一个接口可以继承多个接口。
- 默认方法:Java 8 引入,允许接口提供默认实现,避免破坏现有代码。
- 静态方法:Java 8 引入,可以直接通过接口名调用。
- 私有方法:Java 9 引入,允许接口内部复用代码。
接口与抽象类的区别
- 实现方式:类可以实现多个接口,但只能继承一个类(包括抽象类)。
- 成员变量:接口中只能是常量(
public static final),抽象类可以有普通成员变量。 - 构造方法:接口没有构造方法,抽象类可以有构造方法。
- 方法实现:接口在 Java 8 前完全抽象,抽象类可以有具体方法。
最佳实践
- 优先使用接口定义行为规范。
- 需要共享代码时使用抽象类。
- 合理使用默认方法扩展接口功能而不破坏现有实现。







