在Java中将超类扩展到子类时出错 - 多态

时间:2017-06-07 07:56:27

标签: java class inheritance

我正在解决java旅程中的多态问题,我正在Eclipse中尝试这些示例代码。我只是复制了代码,但我真的想知道为什么我的代码不能编译。

所以我有三个文件:Example.java,Animals.java和Dog.java。

Example.java包含主要方法:

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

然后我为Animal和Dog创建了另外两个类,如下所示

动物类

public class Animal {

    public void makeNoise() {
    }

    public void eat(){
    }

    public void sleep() {   
    }

    public void roam() {

    }

}

狗类

public class Dog {

}

我理解它的方式是我可以使Dog成为扩展超类Animal的子类。但为什么我的代码不能编译?

我错过了这些代码中的内容吗?

1 个答案:

答案 0 :(得分:3)

你的狗类不会扩展动物类,所以这是无效的:

Animal myDog = new Dog();

你需要修改Dog类才能继承Animal Class

你实现了这一目标:

public class Dog extends Animal{