Java 你的多继承纳?

Java省略了许多很少用到,缺乏了解,混淆功能的C + +,在我们的经验中带来更多的悲伤大于收益 。

—–James Gosling

James Gosling 这个人大家应该很熟悉,就是最初设计Java 语言的的程序员,被称为“Java之父”,美国服务器,现在也有50多岁了,前几天还看过他的视频,很平易近人的一个白头老人,可能和在中国小镇随处可见的老人是一样的,完全看不出是那 SUN 的副总裁,也没有中国商人特有的做秀和狡黠。

上面那段话是别人问到他关于 Java 为什么不能运算符重载(虽然它确实有方法重载),多重继承,美国空间,以及广泛的自动强制转换时回答的一段话。他老人家说多继承会带来更多的悲伤,这悲伤到底在什么地方纳?以下是我自己的一点分析(如有不正,香港虚拟主机,希望大神你出手):

多继承的优点是显而易见的,一个子类能有多个父类的属性和方法,比如上面的那个希腊神话当中的半人马先生,继承了人和马,上半身是人的躯干,包括手和头,下半身则是马身,也包括躯干和腿,既有速度又有思维和抓取东西的能力。

但是多继承的缺点也是一点就破:

(1)如果一个子类继承的多个父类中拥有相同名字的实例变量,子类在引用该变量时将产生歧义,无法判断应该使用哪个父类的变量;

贴段代码给看看:

public class ClassA {protected String a = “same” ;}public class ClassB {protected String a = “Unsame” ;}public class ClassC extends ClassA, ClassB {public void printOut() {System.out.println( super .a); //—–关键的一行——-} main(String[] args) {ClassC classC = new ClassC();classC.printOut();}} 不论你在什么时候开始,重要的是开始之后就不要停止

Java 你的多继承纳?

相关文章:

你感兴趣的文章:

标签云: