一、多接口实现的基本概念
Java 中,一个类可以通过 implements 关键字同时实现多个接口,这种特性称为多接口实现。它突破了类的单继承限制,允许类同时具备多种不同的行为能力(如一个类可同时实现 Runnable 和 Serializable 接口,既具备 “可运行” 能力,又具备 “可序列化” 能力)。
基本语法:
class 类名 implements 接口1, 接口2, ..., 接口n {
// 实现所有接口中的抽象方法
}
示例:
// 接口1:可跑
interface Runnable {
void run();
}
// 接口2:可跳
interface Jumpable {
void jump();
}
// 实现多个接口
class Athlete implements Runnable, Jumpable {
@Override
public void run() {
System.out.println("运动员跑步");
}
@Override
public void jump() {
System.out.println("运动员跳跃");
}
}
二、多接口实现的冲突场景
当一个类实现的多个接口中存在同名成员(方法或常量)时,会产生冲突。主要冲突场景包括抽象方法冲突、默认方法冲突和常量冲突。
2.1 抽象方法冲突
多个接口中定义了方法名、参数列表、返回值类型完全相同的抽象方法时,称为抽象方法冲突。
示例:
// 接口1
interface InterfaceA {
void