为什么Java中没有多重继承,但允许实现多个接口?Java不允许多重继承,但它允许实现多个接口。为什么?
3 回答
达令说
TA贡献1821条经验 获得超6个赞
假设我有一个类,一个是烤面包机,另一个类是核轰炸机。他们可能都有“黑暗”的背景。它们都有一个on()方法。(其中一个有OFF(),另一个没有)。如果我想创建一个这两个类的子类.如你所见,这是一个可能在我面前爆炸的问题。
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
这个问题的答案在于java编译器的内部工作(构造函数链)。
public class Bank {
public void printBankBalance(){
System.out.println("10k");
}}class SBI extends Bank{
public void printBankBalance(){
System.out.println("20k");
}}public class Bank {
public Bank(){
super();
}
public void printBankBalance(){
System.out.println("10k");
}}class SBI extends Bank {
SBI(){
super();
}
public void printBankBalance(){
System.out.println("20k");
}}Object
CarBankSBICar:
class Car extends Bank {
Car() {
super();
}
public void run(){
System.out.println("99Km/h");
}}class SBICar extends Bank, Car {
SBICar() {
super(); //NOTE: compile time ambiguity.
}
public void run() {
System.out.println("99Km/h");
}
public void printBankBalance(){
System.out.println("20k");
}}defaultstatic
添加回答
举报
0/150
提交
取消
