Inheritance 在Java8的上下文中,为什么要实现可运行接口而不是扩展线程类?

Inheritance 在Java8的上下文中,为什么要实现可运行接口而不是扩展线程类?,inheritance,multiple-inheritance,runnable,java-8,Inheritance,Multiple Inheritance,Runnable,Java 8,我已经知道我们更喜欢实现可运行接口而不是扩展线程,因为它为我们的类提供了灵活性,我们可以在将来扩展其他类。当我们扩展线程类时,这是不可能的,因为Java不支持多重继承(在Java8之前)。现在,当Java8发布时,我们可以使用多重继承,因此这两种方法都是灵活的。 我的问题是,在Java8上下文中实现可运行接口比扩展线程类有哪些优点和缺点?非常感谢:)。您也不能在Java 8中扩展多个类,上面写得很清楚 Java编程语言不允许您 扩展多个类是为了避免多个类的问题 状态继承,即从中继承字段的能力 多

我已经知道我们更喜欢实现可运行接口而不是扩展线程,因为它为我们的类提供了灵活性,我们可以在将来扩展其他类。当我们扩展线程类时,这是不可能的,因为Java不支持多重继承(在Java8之前)。现在,当Java8发布时,我们可以使用多重继承,因此这两种方法都是灵活的。
我的问题是,在Java8上下文中实现可运行接口比扩展线程类有哪些优点和缺点?非常感谢:)。

您也不能在Java 8中扩展多个类,上面写得很清楚

Java编程语言不允许您 扩展多个类是为了避免多个类的问题 状态继承,即从中继承字段的能力 多个类

Java编程语言支持类型的多重继承, 这是一个类实现多个接口的能力。 一个对象可以有多种类型:它自己类的类型和 类实现的所有接口的类型

实现包含相同默认方法的多个接口是一个复杂的过程,而且

与实现的多重继承一样,类可以继承 定义的方法的不同实现(默认或静态) 在它扩展的接口中。在本例中,编译器或 用户必须决定使用哪一个


因此,在任何版本的java中,都不能扩展多个类,

是的,我错过了这个类。我想投票支持这个答案,但我没有这个名声。谢谢。