public class animal {
private int age;
private String color;
public animal() {
}
public animal(int age, String color) {
this.age = age;
this.color = color;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public void eat(String something){
System.out.println("吃饭");
}
}
public class dog extends animal {
public dog() {
}
public dog(int age, String color) {
super(age, color);
}
public void lookhome(){
System.out.println("看家");
}
@Override
public void eat(String something) {
System.out.println(getAge()+"岁的"+getColor()+"狗子俩前腿抱着"+something+"猛吃");
}
}
public class person extends animal{
private String name;
private int age;
public person() {
}
public person(String name, int age) {
this.name = name;
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;
d.eat(something);
System.out.println("年龄为"+getAge()+"岁"+getName()+"养了一只"
+d.getAge()+"岁"+d.getColor()+"颜色的狗");}
else if (a instanceof cat){
cat c=(cat) a;
c.eat(something);
System.out.println("年龄为"+getAge()+"岁"+getName()+"养了一只"
+c.getAge()+"岁"+c.getColor()+"颜色的猫");
}else{
System.out.println("没有这个动物");
}
}
}
public class cat extends animal{
public cat() {
}
public cat(int age, String color) {
super(age, color);
}
public void catchmouse(){
System.out.println("猫逮老鼠");
}
@Override
public void eat(String something) {
System.out.println(getAge()+"岁的"+getColor()+"猫眯着眼睛侧头吃着"+something);
}
}
public class test {
public static void main(String[] args) {
person p=new person("老王",20);
cat c=new cat(3,"白色");
dog d=new dog(2,"黑色");
p.keeppet(d,"骨头");
p.keeppet(c,"鱼干");
}
}