将超类扩展到Java中的超类 - 多态性的错误



我目前正在在Java旅程中处理多态性,并且我正在尝试以Eclipse中的这些示例代码。我只是复制了代码,但我真的想知道为什么我的代码不会编译。

所以我收到了三个文件:示例。

示例.java包含主要方法:

public class Example {
    public static void main(String[] args) {
        Animal myDog = new Dog();
    }
}

然后,我为动物和狗创建了另外两个类,如下所示

动物类

public class Animal {
    public void makeNoise() {
    }
    public void eat(){
    }
    public void sleep() {   
    }
    public void roam() {
    }
}

狗课

public class Dog {
}

我理解的方式是,我可以使狗的子类延伸超级类动物。但是为什么我的代码不编译?

我在这些代码中缺少一些东西吗?

您的狗类不会扩展动物类,因此这是无效的:

Animal myDog = new Dog();

您需要修改类狗才能继承动物类

您做到了:

public class Dog extends Animal{

最新更新