gpt4 book ai didi

java - 抽象类和多重继承

转载 作者:行者123 更新时间:2023-12-02 11:23:50 30 4
gpt4 key购买 nike

我们可以通过使用抽象类来实现与接口(interface)相同的功能,那么为什么java不允许下面的代码呢?

abstract class Animals
{
public abstract void run();
}

abstract class Animals1
{
public abstract void run1();
}

class Dog extends Animals,Animals1
{
public void run() {System.out.println("Run method");}
public void run1() {System.out.println("Run1 method");}
}

我知道仅使用接口(interface)就可以实现多重继承,但上面的代码所做的事情与接口(interface)所做的事情相同。

最佳答案

这是不允许的,因为您可以使用抽象类做更多的事情。如果您在可以使用接口(interface)时只使用抽象类,那么允许多重继承是没有意义的。

仅使用抽象类来完成接口(interface)无法完成的操作会更简单,在这种情况下,您将无法使用两个抽象父类。

注意:在 Java 8 中,接口(interface)无法做的事情更少,您可以拥有带有实现的公共(public)实例和静态方法。

在 Java 9 中,您将能够在接口(interface)中拥有私有(private)方法;)

关于java - 抽象类和多重继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38167825/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com