1.问题由来
本文部分内容引自此处,感兴趣者可以直接查看原链接。
Java语言特性之一是, 确切的说,其类对于多继承是不支持的(接口可以多继承),但是这是为什么呢?记得Thinking in Java中对于该问题有所阐述,单继承时,JVM的GC机制很好实现,有没有其他更深层次的原因呢?
2.问题解释
A foo()
/ \
/ \
B foo() C foo()
\ /
\ /
D foo()
1). 首先是上图所示的‘钻石问题’。如果我们这时要调用的是foo()方法,编译器并不知道调用的是哪一个类的方法,这就会很尴尬了。
class A{
public void foo(){
}
}
class