java 如何写接口
在 Java 中编写接口
Java 接口是一种抽象类型,用于定义一组方法规范,由实现类具体实现。接口可以包含抽象方法、默认方法、静态方法和常量。
定义接口
使用 interface 关键字定义接口。接口中的方法默认是 public abstract,字段默认是 public static final。
public interface Animal {
void eat(); // 抽象方法
void sleep(); // 抽象方法
// 默认方法(Java 8+)
default void breathe() {
System.out.println("Animal is breathing");
}
// 静态方法(Java 8+)
static void displayInfo() {
System.out.println("This is an Animal interface");
}
}
实现接口
类通过 implements 关键字实现接口,必须实现所有抽象方法(除非是抽象类)。
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("Dog is eating");
}
@Override
public void sleep() {
System.out.println("Dog is sleeping");
}
}
使用接口
可以通过接口类型引用实现类的对象,调用接口定义的方法。
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
dog.eat();
dog.sleep();
dog.breathe(); // 调用默认方法
Animal.displayInfo(); // 调用静态方法
}
}
接口的多继承
Java 支持接口的多继承,一个类可以实现多个接口。
public interface Swimmer {
void swim();
}
public class Dolphin implements Animal, Swimmer {
@Override
public void eat() {
System.out.println("Dolphin is eating");
}
@Override
public void sleep() {
System.out.println("Dolphin is sleeping");
}
@Override
public void swim() {
System.out.println("Dolphin is swimming");
}
}
接口的新特性(Java 8+)
从 Java 8 开始,接口可以包含:
- 默认方法:使用
default关键字,提供默认实现。 - 静态方法:使用
static关键字,可以直接通过接口调用。
接口与抽象类的区别
- 接口不能包含实例字段(只能是常量),抽象类可以。
- 接口支持多继承,抽象类不支持。
- 接口的方法默认是抽象的,抽象类可以包含具体方法。







