java - 为什么java不支持多重继承,虽然默认所有的java方法都是virtual?

标签 java diamond-problem

<分区>

为什么java默认所有方法都是virtual但不支持多重继承?为什么Java会出现菱形问题?

最佳答案

James Gosling (被称为 Java 之父)说:

JAVA omits many rarely used, poorly understood, confusing features of C++ that in our experience bring more grief than benefit. This primarily consists of operator overloading (although it does have method overloading), multiple inheritance, and extensive automatic coercions.

引用:http://javapapers.com/core-java/why-multiple-inheritance-is-not-supported-in-java/

所以根据他的说法,他们根本不想添加它,因为他们认为这是个坏主意。

附言使用多个接口(interface)与多重继承不同。

关于java - 为什么java不支持多重继承,虽然默认所有的java方法都是virtual?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19585757/

相关文章:

C++ virtual Diamond 继承

java - SwingUtilities.invokeLater 和 SwingWorker<Void, Object> 的区别?

java - java-1.7.0-openjdk-i386 和 java-7-openjdk-i386 有什么区别

java - 如何在 java 中将消息附加到 unix 邮箱?

c++ - 以不同的方式克服菱形歧义

C++ 堆错误 _CrtlsValidHeapPointer(pUserData)

java - 如何将 java.util.Date 转换为时间戳中的当前时间..?

java - 无法使用 renameTo() 移动文件

C++:对于继承多个类的类,如何从一个类继承某些属性,从另一个类继承其他属性?

C++:菱形继承(钻石问题)