多继承问题
状态多重继承的问题:
One significant difference between classes and interfaces is that classes can have fields whereas interfaces cannot. In addition, you can instantiate a class to create an object, which you cannot do with interfaces. As explained in the section What Is an Object?, an object stores its state in fields, which are defined in classes. One reason why the Java programming language does not permit you to extend more than one class is to avoid the issues of multiple inheritance of state, which is the ability to inherit fields from multiple classes. For example, suppose that you are able to define a new class that extends multiple classes. When you create an object by instantiating that class, that object will inherit fields from all of the class’s superclasses. What if methods or constructors from different superclasses instantiate the same field? Which method or constructor will take precedence?(如果来自不同超类的方法或构造函数实例化同一字段怎么办?哪个方法或构造函数优先?) Because interfaces do not contain fields, you do not have to worry about problems that result from multiple inheritance of state.(因为接口不包含字段,所以您不必担心状态的多重继承引起的问题。)
实现的多重继承
(待补充)
类型的多重继承
(待补充)