【问题标题】:Error when extending superclass to subclass in Java - polymorphism在 Java 中将超类扩展到子类时出错 - 多态性
【发布时间】:2017-06-07 07:56:27
【问题描述】:

我目前正在处理我的 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 的子类。但是为什么我的代码不能编译呢?

我在这些代码中遗漏了什么吗?

【问题讨论】:

标签: java class inheritance


【解决方案1】:

你的 Dog 类没有扩展动物类,所以这是无效的:

Animal myDog = new Dog();

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

你做到了:

public class Dog extends Animal{

【讨论】:

  • 谢谢 :) .. 但是我刚刚从 Headfirst Java Book 中得到代码,当它讨论多态性时,它给出了相同的示例代码,没有“扩展”?
猜你喜欢
  • 2016-12-26
  • 2018-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
相关资源
最近更新 更多