Java抽象动物类博士不编译 - 初学者

时间:2017-10-02 01:40:02

标签: java inheritance

abstract class Animal {

  public abstract void sound();

  public abstract void movement();

}



public class Cat extends Animal{

public void sound(){
   System.out.println("Meows");
}

public void movement(){
System.out.println("Pounces");
}

public static void main(String args[]){

 Animal obj = new Cat();
obj.sound();
}

 Animal obj = new Cat();
obj.movement();
}




public class Dolphin extends Animal{

public void sound(){
System.out.println("Whistles");
}

public void movement(){
 System.out.println("Swims");
}

public static void main(String args[]){

 Animal obj = new Dolphin();
 obj.sound();
 }

 Animal obj = new Dolphin();
 obj.movement();
  }





public class Parrot extends Animal{

public void sound(){
System.out.println("Talks");
}

public void movement(){
System.out.println("Flies");
}

 public static void main(String args[]){

 Animal obj = new Parrot();
 obj.sound();
 }

Animal obj = new Parrot();
obj.movement();
  }

它没有编译?我不知道什么是错的。对不起,我是一个真正的初学者。我应该创建一个抽象的动物类,其中包含物种和方法的变量声音和运动以及从第一个继承的其他三个子类。子类必须使用声音和移动方法,并且还有其他一些自己的方法。有人能帮我吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

我不太清楚你为什么设计这样的源代码,试试这样的事情。

抽象类。

public abstract class Animal {
    public abstract void sound();
    public abstract void movement();
}

具体课程,我只选了Cat课程。

public class Cat extends Animal{

    public void sound(){
       System.out.println("Meows");
    }

    public void movement(){
        System.out.println("Pounces");
    }
}

主要班级。

public class Main{
   public static void main(String[] args){
       Animal cat = new Cat();
       cat.sound();
       cat.movement();
   }
}

将main方法移到另一个类中,不要将它放在具体类上,然后尝试编译Main类。