codeegginterviewgroup / CodeEggDailyInterview

码个蛋每日面试题
393 stars 55 forks source link

为什么Java中不支持多重继承 #97

Open kukyxs opened 5 years ago

kukyxs commented 5 years ago

多继承虽然能使子类同时拥有多个父类的特征,但是其缺点也是很显著的,主要有两方面: (1)如果在一个子类继承的多个父类中拥有相同名字的实例变量,子类在引用该变量时将产生歧义,无法判断应该使用哪个父类的变量 (2)如果在一个子类继承的多个父类中拥有相同方法,子类中有没有覆盖该方法,那么调用该方法时将产生歧义,无法判断应该调用哪个父类的方法 正因为有以上的致命缺点,所以java中禁止一个类继承多个父类。

参考文档: 1)chrome-extension://cdonnmffkdaoajfknoeeecmchibpmkmg/static/pdf/web/viewer.html?file=https%3A%2F%2Fwww.cs.dartmouth.edu%2F~mckeeman%2Fcs118%2Freferences%2FOriginalJavaWhitepaper.pdf 2)https://www.zhihu.com/question/24317891 3)https://www.breakyizhan.com/java/4226.html