《head first java》第八章
java不支持多重继承,多重继承可能会导致致命方块的问题。
如:
一个父类
public class DigitalRecorder{
public void burn(){
}
}
两个子类重写burn方法
public class CDBurner extends DigitalRecorder{
public void burn(){
}
}
public class DVDBurner extends DigitalRecorder{
public void burn(){
}
}
如果此时再有一个子类,分别继承CDBurner和DVDBurner的话
public class ComboDrive extends CDBurner,DVDBurner{//注:此时编译器无法通过编译,假设可以这么写
public static void main(String[]args){
ComboDrive c = new ComboDrive();
c.burn();
}
}
此时,c.burn并不知道调用哪个父类中的方法。
这张图看起来像是扑克牌的方块,所以叫做致命方块