//Animal类(狗和猫的父类)
public class Animal { private String color; private int age; public Animal(String color, int age) { this.color = color; this.age = age; } public Animal() { } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void eat(String something) { System.out.println("动物在吃"+something); } }
//cat类 public class cat extends Animal{ public cat(String color, int age) { super(color, age); } public cat() { } @Override public void eat(String something){ System.out.println(getAge()+"岁的"+getColor()+"颜色的猫眯着眼侧头吃"+something); } public void catchMouse(){ System.out.println("猫在逮老鼠"); } }
//Dog类 class Dog extends Animal{ public Dog(String color, int age) { super(color, age); } public Dog() { } public void lookHome(){ System.out.println("狗在看家"); } @Override public void eat(String something){ System.out.println(getAge()+"岁的"+getColor()+"颜色的狗两只前腿死死抱住"+something+"猛吃"); } }
//人类
public class Person1 { private String name; private int age; public Person1() { } public Person1(String color, int age) { this.name = color; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void keepPet(Animal a, String something) { if (a instanceof Dog) { Dog d = (Dog) a; System.out.println("年龄为" + age + "的" + name + "养了一只" + d.getColor() + "颜色的狗"); d.eat(something); } else if(a instanceof cat c) { System.out.println("年龄为" + age + "的" + name + "养了一只" + c.getColor() + "颜色的猫"); c.eat(something); } } }
//测试类
public class test1 { public static void main(String[] args) { Person1 p=new Person1(); cat c=new cat(); Dog d=new Dog(); p.setAge(25); p.setName("张三"); Person1 p1=new Person1(); p1.setName("老李"); p1.setAge(34); c.setAge(3); c.setColor("白色"); d.setColor("黑色"); d.setAge(2); p.keepPet(d,"骨头"); p1.keepPet(c,"鱼"); } }