我有一个名为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();
}
}
答案 0 :(得分:0)
它是一个启动问题,您的代码是正确的,并且完美无缺。
为了更好的易读性,请将@Override添加到您所使用的方法中 覆盖。
只需按照以下步骤进行测试:
你现在会看到“鱼在游泳”。 祝你好运。