java中接口如何使用
接口的定义与声明
在Java中,接口通过interface关键字定义,用于声明一组抽象方法(Java 8后支持默认方法和静态方法)。接口不能实例化,需由类实现。
public interface Animal {
void eat(); // 抽象方法
default void sleep() { // 默认方法
System.out.println("Sleeping...");
}
static void breathe() { // 静态方法
System.out.println("Breathing...");
}
}
接口的实现
类通过implements关键字实现接口,必须重写所有抽象方法(除非是抽象类)。一个类可实现多个接口。
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("Dog eats meat");
}
}
接口的多继承
接口支持多继承,即一个接口可继承多个父接口。
interface Pet {
void play();
}
interface DomesticAnimal extends Animal, Pet { // 多继承
void guard();
}
默认方法与静态方法
Java 8引入的默认方法允许接口提供方法实现,避免破坏现有代码。静态方法可直接通过接口名调用。

public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // 调用重写方法
dog.sleep(); // 调用默认方法
Animal.breathe(); // 调用静态方法
}
}
接口与抽象类的区别
- 接口支持多继承,抽象类不支持。
- 接口成员变量默认为
public static final,抽象类无限制。 - 接口方法默认为
public abstract,抽象类可包含具体方法。
实际应用场景
- 解耦:定义模块间通信规范,如DAO层接口。
- 多态:通过接口引用实现类对象。
- 回调:通过接口实现事件处理(如
Runnable)。
List<String> list = new ArrayList<>(); // 多态:接口引用实现类
Runnable task = () -> System.out.println("Running"); // 回调
通过合理使用接口,可以提升代码的灵活性和可扩展性。






