为什么Java中没有多重继承,但允许实现多个接口?Java不允许多重继承,但它允许实现多个接口。为什么?
3 回答
喵喵时光机
TA贡献1846条经验 获得超7个赞
假设我有一个类,一个是烤面包机,另一个类是核轰炸机。他们可能都有“黑暗”的背景。它们都有一个on()方法。(其中一个有OFF(),另一个没有)。如果我想创建一个这两个类的子类.如你所见,这是一个可能在我面前爆炸的问题。
慕姐8265434
TA贡献1813条经验 获得超2个赞
这个问题的答案在于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
Car
Bank
SBICar
:
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"); }}
default
static
添加回答
举报
0/150
提交
取消