编写一个Animal类,设计相应的属性和抽象方法eat()与talk()方法,再编写子类,狗、猫、猪,牛,最后编写Master类,里面有一个feed()方法,使用多态实现调用feed方法进行喂养!例如:用户输入狗,那么控制台就是输出去喂狗!
下面是我写的
import java.util.Scanner;
class Master{
public void feed(Pet d) {
d.eat();
d.talk();
}
}
class Pet{
public void eat() {
}
public void talk() {
// TODO 自动生成的方法存根
}
}
class Pet1{
public void talk() {}
}
class Dog extends Pet{
public void eat() {
System.out.println("出去喂狗!");
}
// public void talk() {
// System.out.println();
// }
}
class Cat extends Pet{
public void eat() {
System.out.println("出去喂猫!");
}
// public void talk() {
// System.out.println();
// }
}
class Pig extends Pet{
public void eat() {
System.out.println("出去喂猪!");
}
// public void talk() {
// System.out.println();
// }
}
class Cattle extends Pet{
public void eat() {
System.out.println("出去喂牛!");
}
// public void talk() {
// System.out.println();
// }
}
public class Animal {
public static void main(String[] args) {
try (// TODO 自动生成的方法存根
Scanner sc = new Scanner(System.in)) {
System.out.println("请输入狗,猫,猪,牛的其中一个动物:");
String name=sc.next();
System.out.println("出去喂"+name+"!");
System.out.println("");
Master m=new Master();
m.feed(new Dog());
m.feed(new Cat());
m.feed(new Pig());
m.feed(new Cattle());
}
}
}
输出结果
要把下面的输出结果(我用红线标出来)不再显示,而上面的,用户输入动物,输出就对应哪种动物出去喂它。这才是我想要的结果。