无法启动抽象方法

时间:2017-12-28 10:20:55

标签: java

我有一个名为Animal的抽象类,其中有一个名为move的抽象方法。此外,Fish类扩展了Animal类并定义了一个名为move的方法。当我尝试在名为test的类中测试该方法时,该方法似乎不会启动。我希望在编译完所有文件并执行测试文件后,它会打印出#34; fish is swim"但没有打印,也没有显示错误。

///动物类

public abstract class Animal {

    int age;
    String gender;
    int weightInLbs;

    public Animal(int age, String gender, int weightInLbs) {
        this.age = age;
        this.gender = gender;
        this.weightInLbs = weightInLbs;
    }

    public void eat() {
        System.out.println("Eating...");
    }

    public void sleep() {
        System.out.println("Sleeping...");
    }

    public abstract void move();
}

//鱼类

public class Fish extends Animal {

    public Fish (int age, String gender, int weightInLbs) {
        super(age, gender, weightInLbs);
    }

    public void swim() {
        System.out.println("Swimming...");
    }

    public void move() {
        System.out.println("fish is swimming...");
    }
}

//测试类

public class test {
    public static void main(String arg[]) {
        Fish fish1 = new Fish(1, "M", 3);
        fish1.move();
    }
}

1 个答案:

答案 0 :(得分:0)

它是一个启动问题,您的代码是正确的,并且完美无缺。

  

为了更好的易读性,请将@Override添加到您所使用的方法中   覆盖。

只需按照以下步骤进行测试:

  1. 打开Eclipse或您使用的任何IDK工具并创建一个新项目(即:Java项目)。
  2. 创建三个部分(动物,鱼和测试(测试))。
  3. 将代码粘贴到每个代码中。
  4. 右键点击测试 - >以 - >运行Java Aplication。
  5. 打开控制台:Windows - >显示视图 - >控制台
  6. 你现在会看到“鱼在游泳”。 祝你好运。