多个支持Java继承

时间:2013-11-05 06:52:15

标签: java multiple-inheritance

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

现在我的要点是我可以让我的类扩展任何类,例如Thread。 所以现在我的类默认按用户定义的边和Object扩展Thread ... 这意味着多类继承?

5 个答案:

答案 0 :(得分: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?
    }
}

答案 1 :(得分:1)

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

假设该类为MyClass并且它扩展为MySuperClass。由于MyClass扩展MySuperClass所以它不会直接延伸Object。但MySuperClass类本身并未明确扩展任何类,因此它会扩展Object,反过来MyClass也会在层次结构中扩展Object

所以它不是多重继承而是多级继承。希望它有所帮助。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

这是 MultiLevel 继承和非多重继承。

答案 4 :(得分:0)

  

任何类默认扩展OBJECT类

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