Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java多态性中将超类扩展到子类时出错_Java_Class_Inheritance - Fatal编程技术网

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

在Java多态性中将超类扩展到子类时出错,java,class,inheritance,Java,Class,Inheritance,我目前正在java之旅中处理多态性问题,并在Eclipse中试用这些示例代码。我只是复制了代码,但我真的很想知道为什么我的代码不能编译 所以我得到了三个文件:Example.java、anives.java和Dog.java java包含以下主要方法: public class Example { public static void main(String[] args) { Animal myDog = new Dog(); } } 然后我为Animal和D

我目前正在java之旅中处理多态性问题,并在Eclipse中试用这些示例代码。我只是复制了代码,但我真的很想知道为什么我的代码不能编译

所以我得到了三个文件:Example.java、anives.java和Dog.java

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类,因此这是无效的:

Animal myDog = new Dog();
为了继承Animal类,您需要修改类Dog

public class Animal {

    public void makeNoise() {
    }

    public void eat(){
    }

    public void sleep() {   
    }

    public void roam() {

    }

}
你可以通过以下方式实现这一目标:

public class Dog extends Animal{

是的,你错过了什么。你从来没有写过a
Dog
扩展
Animal
(你错过了
extends
部分,你应该读一下。谢谢你的帮助和参考…你们太棒了!:)谢谢:)。。但我刚从HeadFirstJava的书中得到代码,当它讨论多态性时,它给出了没有“扩展”的相同示例代码?