0

好吧Java在java中不支持多重继承。但是在eclipse中我们可以看到任何类默认扩展了OBJECT类,如果我们尝试添加未实现的方法,我们可以看到Object类的所有方法。

现在我的观点是我可以让我的类扩展任何类,例如 Thread。所以现在我的类默认通过用户定义的端和对象扩展线程......这意味着多类继承?

4

5 回答 5

1

一个类只能有一个超类,即在java中一个类只能扩展一个类。如果未指定,则隐式扩展到Object.

所以假设这个类是 MyClass并且它扩展了MySuperClass。as MyClassextendsMySuperClass所以它不会直接扩展Object。但是MySuperClass类本身并没有显式地扩展任何类,因此它扩展Object并且反过来MyClass也在Object层次结构中扩展。

所以它不是多重继承,而是多级继承。希望能帮助到你。

于 2013-11-05T07:22:58.730 回答
1

使用 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?
    }
}
于 2013-11-05T07:12:10.623 回答
0

任何类默认扩展 OBJECT 类

这意味着Thead类也扩展了 Object。

于 2013-11-05T07:11:59.473 回答
0

你提到的行为是java默认支持的多级继承

于 2013-11-05T06:55:16.543 回答
0

这是多级继承而不是多重继承。

于 2013-11-05T06:56:19.727 回答