public class Animal {
private String name;
private int 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 speak() {
System.out.println(name + "今年" + age + "岁了。");
}
public void move() {
System.out.println(name + "在动……");
}
public void eat() {
System.out.println(name + "在吃……");
}
@Override
public String toString() {
return "Animal{" +
"name='" + name + ''' +
", age=" + age +
'}';
}
}
public class Cat extends Animal {
@Override
public void move() {
System.out.println("猫咪[" + getName() + "]在走路。");
}
@Override
public void eat() {
System.out.println("猫咪[" + getName() + "]爱吃鱼虾。");
}
public void play() {
System.out.println("猫咪[" + getName() + "]在玩老鼠。");
}
}
public class Dog extends Animal {
@Override
public void move() {
System.out.println("狗崽[" + getName() + "]在蹦跳。");
}
@Override
public void eat() {
System.out.println("狗崽[" + getName() + "]爱吃骨头。");
}
public void play() {
System.out.println("狗崽[" + getName() + "]在玩飞盘。");
}
}
public void move() {
System.out.println("鸟儿[" + getName() + "]在飞翔。");
}
@Override
public void eat() {
System.out.println("鸟儿[" + getName() + "]爱吃小虫。");
}
public void play() {
System.out.println("鸟儿[" + getName() + "]在玩羽毛。");
}
}
public class Student {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void feed(Animal animal) {
if (animal instanceof Cat) { // 判断是否是猫实例
System.out.println(name + "喂养猫咪[" + animal.getName() + "]。");
} else if (animal instanceof Dog) { // 判断是否是狗实例
System.out.println(name + "喂养狗崽[" + animal.getName() + "]。");
} else if (animal instanceof Bird) { // 判断是否是鸟实例
System.out.println(name + "喂养鸟儿[" + animal.getName() + "]。");
} else {
System.out.println(name + "喂养动物[" + animal.getName() + "]。");
}
animal.speak(); // 子类继承了父类的方法
animal.move(); // 体现多态(子类改写了父类的同名同参方法)
animal.eat(); // 体现多态(子类改写了父类的同名同参方法)
}
}
public class TestStudent {
public static void main(String[] args) {
// 创建学生对象
Student student = new Student();
student.setName("张三丰");
// 创建第一个动物
Animal animal1 = new Cat();
animal1.setName("虎丸");
animal1.setAge(4);
// 创建第二个动物
Animal animal2 = new Dog();
animal2.setName("瑞瑞");
animal2.setAge(5);
// 创建第三个动物
Animal animal3 = new Bird();
animal3.setName("豆豆");
animal3.setAge(3);
// 调用学生对象的喂养方法,传入不同的动物对象
student.feed(animal1);
student.feed(animal2);
student.feed(animal3);
}
}
相关知识
学生喂养三种宠物:猫、狗和鸟
11.学生喂养三种宠物:猫、狗和鸟
喂养宠物:猫.狗和鸟
喂养三种宠物:猫、狗和鸟
【学生喂养三种宠物:猫、狗和鸟】
任务三、学生喂养三种宠物:猫、狗和鸟
学生喂养三种宠物:猫、狗、鸟
JAVA面向对象编程——学生喂养三种宠物:猫、狗和鸟
任务3、学生喂养三种宠物:猫、狗和鸟
兽医检查宠物健康,狗,猫和鸟矢量插图图片
网址: 喂养宠物:猫.狗和鸟 https://m.mcbbbk.com/newsview158458.html
上一篇: 宠物狗大赛 |
下一篇: 178宠物鸟资料大全 |