为了降低复杂度和简化语言,java 中不支持多重继承。 考虑一个场景,其中 A、B 和 C 是三个类。 C 类继承 A 和 B 类。 如果 A 类和 B 类有相同的方法,并且从子类对象中调用它,那么调用 A 类或 B 类的方法就会有歧义。
由于编译时错误优于运行时错误,如果继承 2 个类,Java 会呈现编译时错误。 所以无论有相同的方法还是不同的方法,都会出现编译时错误。
package com.yiibai.demo;
class A {
void msg() {
System.out.println("Hello");
}
}
class B {
void msg() {
System.out.println("Welcome");
}
}
class C extends A,B{//suppose if it were
public Static void main(String args[]) {
C obj = new C();
obj.msg();//Now which msg() method would be invoked?
}
}
编译错误~!