接口可通过extends继承多个接口,实现多重继承。如interface C extends A, B,类实现C需重写所有方法。Java 8后若父接口有同名default方法,子接口必须重写以避免冲突,确保行为明确。

Java中类不支持多继承,但接口可以“多继承”,准确说是接口之间可以通过extends关键字继承多个其他接口。这实现了接口层面的多重继承功能。
接口如何继承多个接口
在Java中,一个接口可以通过extends关键字同时继承多个接口,各接口之间用逗号分隔。
例如:
interface A {
void methodA();
}
interface B {
void methodB();
}
interface C extends A, B {
void methodC();
}
此时,接口C继承了A和B中的所有抽象方法。任何实现C的类都必须实现methodA、methodB和methodC。
立即学习“Java免费学习笔记(深入)”;
实现类需要实现所有方法
如果有一个类实现接口C,它就必须提供A、B、C中所有方法的具体实现。
示例:
本文档主要讲述的是Android JNI开发入门与提高;JNI在Android系统中有着广泛的应用。Android系统底层都是C/C++实现的,上层提供的API都是Java的,Java通过JNI调用底层的实现。比如:Android API多媒体接口MediaPlayer类,其实底层通过JNI调用libmedia库。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
class MyClass implements C {
public void methodA() {
System.out.println("实现 methodA");
}
public void methodB() {
System.out.println("实现 methodB");
}
public void methodC() {
System.out.println("实现 methodC");
}
}
这样就完成了对接口多继承的完整支持。
注意默认方法的冲突处理
从Java 8开始,接口可以包含default方法。当多个父接口有同名默认方法时,子接口或实现类必须明确覆盖该方法,以避免冲突。
例如:
interface X {
default void greet() {
System.out.println("Hello from X");
}
}
interface Y {
default void greet() {
System.out.println("Hello from Y");
}
}
interface Z extends X, Y {
@Override
default void greet() {
System.out.println("Resolved in Z");
}
}
必须在Z中重写greet()方法,否则编译失败。
基本上就这些。接口多继承是Java中实现行为复用的重要方式,合理使用可以让代码结构更清晰。









