好吧Java在java中不支持多重继承。但是在eclipse中我们可以看到任何类默认扩展了OBJECT类,如果我们尝试添加未实现的方法,我们可以看到Object类的所有方法。
现在我的观点是我可以让我的类扩展任何类,例如 Thread。所以现在我的类默认通过用户定义的端和对象扩展线程......这意味着多类继承?
好吧Java在java中不支持多重继承。但是在eclipse中我们可以看到任何类默认扩展了OBJECT类,如果我们尝试添加未实现的方法,我们可以看到Object类的所有方法。
现在我的观点是我可以让我的类扩展任何类,例如 Thread。所以现在我的类默认通过用户定义的端和对象扩展线程......这意味着多类继承?
一个类只能有一个超类,即在java中一个类只能扩展一个类。如果未指定,则隐式扩展到Object
.
所以假设这个类是 MyClass
并且它扩展了MySuperClass
。as MyClass
extendsMySuperClass
所以它不会直接扩展Object
。但是MySuperClass
类本身并没有显式地扩展任何类,因此它扩展Object
并且反过来MyClass
也在Object
层次结构中扩展。
所以它不是多重继承,而是多级继承。希望能帮助到你。
使用 Java 接口可以看到类似于多重继承的行为:
// implements BOTH Runnable AND ActionListener
public class MultipleInterfaces implements Runnable, ActionListener {
@Override public void run() {}
@Override public void actionPerformed(ActionEvent e) {}
}
多重继承是这样的:
// Not allowed, complete nuts
public class Amalgam extends ArrayList<Thread>, JPanel, Font {
public Amalgam() {
super(); // <- and what would this do?
}
}
任何类默认扩展 OBJECT 类
这意味着Thead类也扩展了 Object。
你提到的行为是java默认支持的多级继承
这是多级继承而不是多重继承。