java接口如何使用
定义接口
接口使用 interface 关键字定义,仅包含方法声明(无实现)和常量(默认 public static final)。
public interface Animal {
String TYPE = "生物"; // 常量
void eat(); // 抽象方法
default void sleep() { // 默认方法(Java 8+)
System.out.println("睡觉中");
}
static void info() { // 静态方法(Java 8+)
System.out.println("这是一个动物接口");
}
}
实现接口
类通过 implements 实现接口,需重写所有抽象方法,可选择重写默认方法。
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
多接口实现
一个类可实现多个接口,解决Java单继承限制。
public class RobotDog implements Animal, Machine {
@Override
public void eat() {
System.out.println("充电");
}
@Override
public void start() {
System.out.println("启动");
}
}
接口继承
接口可继承多个父接口,扩展功能。

public interface SmartDevice extends Animal, Machine {
void connectWifi();
}
接口使用场景
- 回调机制:通过接口实现事件监听(如
Runnable)。 - 多态:以接口类型引用实现类对象。
Animal myPet = new Dog(); myPet.eat(); // 输出"狗吃骨头" - 解耦:定义标准协议,分离实现与调用方。
注意事项
- Java 8 后接口支持
default和static方法,前者需实例调用,后者通过接口名调用。 - 接口不能实例化,但可通过匿名类快速实现。
Animal cat = new Animal() { @Override public void eat() { System.out.println("猫吃鱼"); } };






