展开全部
整体没啥问题,有几处需要改32313133353236313431303231363533e58685e5aeb931333431373330:
1、类名好几处都是小写的,不知道你哪来的代码:所有string需要改为String
Simulator simulator=new simulator();要改为Simulator simulator=new Simulator();
abstract class animal要改为abstract class Animal
2、另外还要改Simulator类:
class Simulator{
void playSound(Animal animal){
System.out.println("动物名称是:"+"动物.getAnimalName()");
System.out.println("动物叫声是:"+"动物.cry()");
}
}
有两处需要改:要把"动物.getAnimalName()"改为:animal.getAnimalName()
System.out.println("动物叫声是:"+"动物.cry()");因为cry()方法时void的,所以需要改成这样:
System.out.print("动物叫声是:");
animal.cry();
也就是说Simulator类要整体改为:
class Simulator {
void playSound(Animal animal) {
System.out.println("动物名称是:" + animal.getAnimalName());
System.out.print("动物叫声是:");
animal.cry();
}
}
好了,可以运行了:
改完后的全部代码为:
public class JJ {
public static void main(String[] args) {
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}
abstract class Animal {
abstract void cry();
abstract String getAnimalName();
}
class Dog extends Animal {
void cry() {
System.out.println("汪汪...");
}
String getAnimalName() {
return "Dog";
}
}
class Cat extends Animal {
void cry() {
System.out.println("喵喵...");
}
String getAnimalName() {
return "Cat";
}
}
class Simulator {
void playSound(Animal animal) {
System.out.println("动物名称是:" + animal.getAnimalName());
System.out.print("动物叫声是:");
animal.cry();
}
}
代码老是挤在一起,我截几个图给你康康:
3-15行
16-35行
最后几行,注意这里的变化