题目:
有来自4类(鸟类、昆虫类、爬行类和鱼类)的100个动物聚在一起开会,商议和另一个动物部落打仗事宜,会议要求每个动物都要报告自己所属的动物类别和自己的天赋,以便选拔人才、组织兵力迎战。
设计:用Animal作为基类,鸟类、昆虫类、爬行类和鱼类各作为Animal的子类设计类层次结构,设计时运用继承、重写并设计多态机制,同时对每个子类至少要添加一个其描述的动物特有的行为和一个特有的属性,以更准确地描述子类对象。
使用:用循环随机生成这100个动物,要对每个动物进行编号和随机命名,用循环让每个参会的动物报告自己的类别和天赋。
package ex;
import java.util.Random;
public class Test {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
String []name = new String [100];
String []id = new String [100];
randomName(name);
randomId(id,5);
Random r = new Random();
String species = "";
for(int i = 0;i<100;i++) {
species = randomSpecies(r.nextInt(4));
Animal animal = (Animal)Class.forName("ex."+species).newInstance(); //想用用看java反射
animal.setAttri(id[i],name[i]);
animal.showType();
animal.showTalent();
}
}
public static String randomSpecies(int i) { //随机动物类型
switch(i) {
case 0:
return "Bird";
case 1: