java学生喂养宠物
生活随笔
收集整理的這篇文章主要介紹了
java学生喂养宠物
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、創(chuàng)建動物類
package c02.s01.p05;/*** 功能:動物類* 作者:hf* 日期:2022年05月05日*/ 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 + "在吃……");}@Overridepublic String toString() {return "Animal{" +"name='" + name + '\'' +", age=" + age +'}';} }2、繼承動物類,創(chuàng)建貓類
package c02.s01.p05;/*** 功能:貓類* 作者:hf* 日期:2022年05月05日*/ public class Cat extends Animal {/*** 子類改寫父類的同名同參方法(縱向多態(tài))*/@Overridepublic void move() {System.out.println("貓咪[" + getName() + "]在走路。");}/*** 子類改寫父類的同名同參方法(縱向多態(tài))*/@Overridepublic void eat() {System.out.println("貓咪[" + getName() + "]愛吃魚蝦。");}/*** 子類添加新的方法*/public void play() {System.out.println("貓咪[" + getName() + "]在玩老鼠。");} }3、繼承動物類,創(chuàng)建狗類
package c02.s01.p05;/*** 功能:貓類* 作者:hf* 日期:2022年05月05日*/ public class Dog extends Animal {/*** 子類改寫父類的同名同參方法(縱向多態(tài))*/@Overridepublic void move() {System.out.println("狗崽[" + getName() + "]在蹦跳。");}/*** 子類改寫父類的同名同參方法(縱向多態(tài))*/@Overridepublic void eat() {System.out.println("狗崽[" + getName() + "]愛吃骨頭。");}/*** 子類添加新的方法*/public void play() {System.out.println("狗崽[" + getName() + "]在玩飛盤。");} }4、繼承動物類,創(chuàng)建鳥類
package c02.s01.p05;/*** 功能:鳥類* 作者:hf* 日期:2022年05月05日*/ public class Bird extends Animal {/*** 子類改寫父類的同名同參方法(縱向多態(tài))*/@Overridepublic void move() {System.out.println("鳥兒[" + getName() + "]在飛翔。");}/*** 子類改寫父類的同名同參方法(縱向多態(tài))*/@Overridepublic void eat() {System.out.println("鳥兒[" + getName() + "]愛吃小蟲。");}/*** 子類添加新的方法*/public void play() {System.out.println("鳥兒[" + getName() + "]在玩羽毛。");} }5、創(chuàng)建學生類
package c02.s01.p05;/*** 功能:* 作者:hf* 日期:2022年05月05日*/ 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(); // 體現(xiàn)多態(tài)(子類改寫了父類的同名同參方法)animal.eat(); // 體現(xiàn)多態(tài)(子類改寫了父類的同名同參方法)if (animal instanceof Cat) { // 判斷是否是貓實例System.out.println(name + "喂養(yǎng)貓咪[" + animal.getName() + "]。");Cat cat = (Cat) animal; // Animal向下轉型為Catcat.play();} else if (animal instanceof Dog) { // 判斷是否是狗實例System.out.println(name + "喂養(yǎng)狗崽[" + animal.getName() + "]。");Dog dog = (Dog) animal; // Animal向下轉型為Dogdog.play();} else if (animal instanceof Bird) { // 判斷是否是鳥實例System.out.println(name + "喂養(yǎng)鳥兒[" + animal.getName() + "]。");Bird bird = (Bird) animal; // Animal向下轉型為Birdbird.play();} else {System.out.println(name + "喂養(yǎng)動物[" + animal.getName() + "]。");}} }6、創(chuàng)建測試學生類
package c02.s01.p05;/*** 功能:* 作者:hf* 日期:2022年05月05日*/ public class TestStudent {public static void main(String[] args) {// 創(chuàng)建學生對象Student student = new Student();student.setName("張三豐");// 創(chuàng)建第一個動物Animal animal1 = new Cat();animal1.setName("小花");animal1.setAge(4);// 創(chuàng)建第二個動物Animal animal2 = new Dog();animal2.setName("大黃");animal2.setAge(5);// 創(chuàng)建第三個動物Animal animal3 = new Bird();animal3.setName("笨笨");animal3.setAge(3);// 調用學生對象的喂養(yǎng)方法,傳入不同的動物對象student.feed(animal1);student.feed(animal2);student.feed(animal3);} }7、運行程序,查看結果
總結
以上是生活随笔為你收集整理的java学生喂养宠物的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基础知识 | hex文件格式详解
- 下一篇: C语言自己认为理解有难度的或者容易犯错的