Java中的多重继承。通过扩展顺序分配优先级

Java中的多重继承。通过扩展顺序分配优先级,java,multiple-inheritance,Java,Multiple Inheritance,: Java编程语言不允许扩展多个类的一个原因是为了避免状态的多重继承问题,即从多个类继承字段的能力。例如,假设您能够定义一个扩展多个类的新类。当您通过实例化该类来创建对象时,该对象将从该类的所有超类继承字段。如果来自不同超类的方法或构造函数实例化同一个字段怎么办 通过为子类扩展的所有类分配优先级难道不能轻松解决这个问题吗 class A extends B,C,D { } 让我们假设优先级是按照子类声明中提到的升序分配的 然后B的优先级

:

Java编程语言不允许扩展多个类的一个原因是为了避免状态的多重继承问题,即从多个类继承字段的能力。例如,假设您能够定义一个扩展多个类的新类。当您通过实例化该类来创建对象时,该对象将从该类的所有超类继承字段。如果来自不同超类的方法或构造函数实例化同一个字段怎么办

通过为子类扩展的所有类分配优先级难道不能轻松解决这个问题吗

class A extends B,C,D
{

}
让我们假设优先级是按照子类声明中提到的升序分配的

然后B的优先级
请告知。提前感谢。

是的,粗略地说,这就是Scala支持扩展具有多个特性的类的方式


“优先级”是根据一个标准来确定的,与您提到的类似,因此没有歧义。

这是关于您正在编写的代码的特定问题,还是关于您希望对Java语言规范提出建议的一般性对话?@David它不是针对任何代码的。我只是想知道为什么java的家伙们设计了java。我还想知道我建议的方法有哪些复杂之处。谢谢,恐怕像这样的开放式对话不太适合堆栈溢出。要了解更多关于这个社区以及我们所做的事情,我们鼓励您从这里开始:社区贡献者之间有聊天室可供一般讨论,这可能适用于其中之一。它们允许类型(接口)、行为(默认方法)的多继承,但不允许状态。状态的多重继承引入了类状态,这是一个更难弥补的问题,也更可能成为一个问题。(为行为解决此问题只需实现
D
中的方法即可)