/** *功能:动物类 **/ public class Animal { private String name; private int age; 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 + '}'; } }
12345678910111213141516171819202122232425262728293031323334353637383940414243444546/** *功能:猫类 */ 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() + "]玩老鼠。"); } }
123456789101112131415161718192021/** * 狗崽类 */ 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() + "]玩飞盘。"); } }
123456789101112131415161718192021/** * 鸟儿类 */ public class Bird 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() + "]玩羽毛。"); } }
123456789101112131415161718192021/** * 学生类 */ public class Student { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void feed(Animal animal) { animal.speak();//子类继承了父类的方法 animal.move();//体现多态(子类改写了父类的同名同参方法) animal.eat();//体现多态(子类改写了父类的同名同参方法) if (animal instanceof Cat) {//判断是否是猫实例 System.out.println(name + "喂养猫咪[" + animal.getName() + "]。"); Cat cat = (Cat) animal;//Animal向下转型为Cat cat.play(); } else if (animal instanceof Dog) { System.out.println(name + "喂养狗崽[" + animal.getName() + "]。"); Dog dog = (Dog) animal;//Animal向下转型为Dog dog.play(); }else if (animal instanceof Bird) { System.out.println(name + "喂养鸟儿[" + animal.getName() + "]。"); Bird bird = (Bird) animal;//Animal向下转型为Bird bird.play(); }else { System.out.println(name + "喂养动物[" + animal.getName() + "]。"); } } }
1234567891011121314151617181920212223242526272829303132333435363738public class TsetStudent { public static void main(String[] args) { //创建学生对象 Student student = new Student(); student.setName("April"); //创建第一个动物 Animal animal1 = new Cat(); animal1.setName("Q宝"); 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); } }
1234567891011121314151617181920212223242526272829相关知识
11.学生喂养三种宠物:猫、狗和鸟
学生喂养三种宠物:猫、狗和鸟
学生喂养三种宠物:猫、狗、鸟
喂养三种宠物:猫、狗和鸟
【Java项目三——任务3学生喂养宠物】
java任务项目——学生喂养三种宠物:猫、狗、鸟
画眉鸟喂养不可缺少的三种食物 画眉鸟喂养介绍
Java任务项目
阿联酋宠物友好学校:如何帮助学生减轻焦虑?
三种常见观赏鸟的喂养方法
网址: 【学生喂养三种宠物:猫、狗和鸟】 https://m.mcbbbk.com/newsview158414.html
上一篇: 【爱鸟周】杭州动物园(少儿公园) |
下一篇: Java基于java鸟类管理系统 |