全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
import java.util.*;/(用来随机创建的)抽象基类/PetCreator.java abstract class PetCreator private Random rand=new Random(47); public abstract ListClasstypes(); public Pet randomPet() int n=rand.nextInt(types().size(); /随机范围=types容器的大小 try return types().get(n).newInstance(); catch(InstantiationException e) throw new RuntimeException(e); catch(IllegalAccessException e) throw new RuntimeException(e); public Pet createArray(int size) Petresult=new Petsize; for(int i=0;isize;i+) resulti=randomPet();/ 将随机生成的对象转型到Pet数组引用 return result; public ArrayListarrayList(int size) ArrayListresult=new ArrayList(); Collections.addAll(result, createArray(size); System.out.println(已填加+result.size()+个种类); /根据Pet数组引用 装入容器 return result; /PetCreator 的派生类/ForNameCreator.javaclass ForNameCreator extends PetCreator private static ListClasstypes= new ArrayListClass(); private static StringtypesNames= typeinfo.pets.Mutt, typeinfo.pets.Pug, typeinfo.pets.EgyptianMau, typeinfo.pets.Manx, typeinfo.pets.Cymric, typeinfo.pets.Rat, typeinfo.pets.Mouse, typeinfo.pets.Hamster, ; private static void Loader() try for(String name:typesNames) types.add(Class)Class.forName(name); catch(ClassNotFoundException e) System.out.println(创建对象的Class类时出现错误); throw new RuntimeException(e); static System.out.println(开始向types容器输入各类Class类型信息); Loader();public ListClasstypes()return types;/返回对容器(类型信息类)的引用 typespublic static void main(String arges)new ForNameCreator();/随机创建.javaclass 随机创建 public static void countPets(PetCreator creator) /向上转型为抽象基类的引用 creator.arrayList(20);/调用基类中arrayList函数 /开始真的随机创建20个宠物对象 并放入容器中 public static void main(String arges) /一切从这里开始 countPets(new ForNameCreator(); /创建派生类对象 调用本类静态函数 /*以下的模块框架是上面的材料*/5层类继承的基类 第一层/Individual.javaclass Individual public Individual(String name) =name; protected Individual() String name;/第 2层/Person.javaclass Person extends Individual public Person(String name)super(name); public Person()super();/第 2层 最后大部分都是围绕这个类/Pet.javaclass Pet extends Individual public Pet(String name)super(name); public Pet()super();/第 3层/Rodent.javaclass Rodent extends Pet public Rodent(String name)super(name); public Rodent()super();/第 4层/Hamster.javaclass Hamster extends Rodent public Hamster(String name)super(name); public Hamster()super();/第 4层/Mouse.javaclass Mouse extends Rodent public Mouse(String name)super(name); public Mouse()super();/第 4层/Rat.javaclass Rat extends Rodent public Rat(String name)super(name); public Rat()super();/第 3层/Dog.javaclass Dog extends Pet public Dog(String name)super(name); public Dog()super();/第 4层/Pug.javaclass Pug extends Dog public Pug(String name)super(name); public Pug()super();/第 4层/Mutt.javaclass Mutt extends Dog public Mutt(String name)super(name); public Mutt()super();/第 3层/Cat.javaclass Cat extends Pet public Cat(String name)super(name); public Cat()super();/第 4层/EgyptianMau .javaclass EgyptianMau extends Cat public EgyptianMau(String name)super(name); public EgyptianMau()super();/第 4层/Manx.javaclass Manx extends Cat public Manx(String name)super(name); public Manx()super();/第 5层/C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老人居家陪护合同(失能照护)
- 2025年食品安全追溯技术研发项目可行性研究报告及总结分析
- 2025年基因检测服务市场拓展项目可行性研究报告及总结分析
- 职业规划自测题行业选择职业发展路径与答案解析
- 咖啡门店测试题答案
- 年浙江省金华市磐安县一级造价工程师《土建计量》模拟试题及答案
- 中级经济师金融专业考试题库附参考答案【达标题】
- 2025年阳江市阳西县保安员招聘考试题库附答案解析
- 2025年长治市保安员招聘考试题库附答案解析
- 无人机驾驶员(超视距)考试试题及答案
- 工程机械:挖掘机机器人臂关节设计改进研究
- 合成生物学讲解课件
- 技术项目开发团队管理规范文档
- 2025及未来5年中国酒吧市场调查、数据监测研究报告
- 詹何钓鱼课件
- 《劳模工匠创新工作室建设和管理要求》征求意见稿
- 精装装修知识培训课件
- 2025年大学警务指挥与战术专业题库- 警务指挥与战术应急反应措施
- 驾照科目一理论考试全模拟试题
- 安全工作计划安全生产年度工作计划
- 人工智能在心理健康服务领域的应用前景报告
评论
0/150
提交评论