第四題:根據需求完成代碼: 1.定義動物類 屬性: 年齡,顏色 行為: eat(String something)方法(無具體行為,不同動物吃的方式和東西不一樣,something表示吃的東西) 生成空參有參構造,set和get方法 2.定義狗類繼承動物類 ? 行為: eat(String something)方法,看家lookHome方法(無參數) 3.定義貓類繼承動物類 行為:eat(String something)方法,逮老鼠catchMouse方法(無參數) 4.定義Person類 屬性: 姓名,年齡 行為: keepPet(Dog dog,String something)方法 功能:喂養寵物狗,something表示喂養的東西 行為: keepPet(Cat cat,String something)方法 功能:喂養寵物貓,something表示喂養的東西 生成空參有參構造,set和get方法 ? 5.定義測試類(完成以下打印效果): keepPet(Dog dog,String somethind)方法打印內容如下: 年齡為30歲的老王養了一只黑顏色的2歲的寵物 2歲的黑顏色的狗兩只前腿死死的抱住骨頭猛吃 keepPet(Cat cat,String somethind)方法打印內容如下: 年齡為25歲的老李養了一只灰顏色的3歲的寵物 3歲的灰顏色的貓瞇著眼睛側著頭吃魚*/package com.heima.tes4;public class Person { private String name; private int age; public Person() { super(); } public Person(String name, int age) { super(); 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("年齡為" + age + "歲的" + name + "養了一只" + d.getColor() + "顏色的" + d.getAge() + "歲的寵物"); } else if (a instanceof Cat) { Cat c = (Cat) a; c.eat(something); System.out.println("年齡為" + age + "歲的" + name + "養了一只" + c.getColor() + "顏色的" + c.getAge() + "歲的寵物"); } }}最后一問 為什么要用強制類型轉換,還要調用d.eat(something);這個方法 ,真的是看不懂啊,求解決,萬分感謝!
添加回答
舉報
0/150
提交
取消