Java十四章(1)类型信息之RTTI.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
public Pet randomPet() // 随机的产生一个宠物 { int n = rand.nextInt(types( ).size( )); try { return types( ). get(n). newInstance( ); // 通过Class.newInstance来创建该类的新实例 } catch(InstantiationException e) { throw new RuntimeException(e); } catch(IllegalAccessException e) { throw new RuntimeException(e); } } public Pet[ ] createArray(int s) // 宠物数组 { // 创建元素类型为Pet的数组result Pet[ ] result = new Pet[s]; for(int i = 0; i s; i++) result[i] = randomPet(); // 使用randomPet随机创建一个Pet并放入数组 return result; } public ArrayListPet arrayList(int s) // 利用宠物数组生成宠物ArrayList { ArrayListPet result = new ArrayListPet(); Collections.addAll(result,createArray(s)); // 将createArray返回的数组全部添加到result集合 return result; } } ⑶ 程序的第三部分:P325~326 ◆在下面子类实现PetCreator中声明的抽象方法types, public class ForNameCreator extends PetCreator { private static ListClass? extends Pet pets = new ArrayListClass? extends Pet(); //定义一个指向ArrayList的List接口引用types //该ArrayList是由这样的Class对象构成的列表,这些 Class对象所描述的类都是Pet的最底层子类 private static String[ ] typeNames = { // 含有包名的最底层子类类名串 typeinfo.pets.Mutt, typeinfo.pets.Pug, typeinfo.pets.EgyptianMau, typeinfo.pets.Manx, “typeinfo.pets.Cymric”, ?? ….. }; private static void loader() { try { for(String name : typeNames) pets. add( (Class? extends Pet) // 必须强制转换 Class.forName(name)); // 必须强制转换,添加到pets所指向的List } catch(ClassNotFoundException e){ } } static { loader();} // 静态初始化语句 public ListClass? extends Pet types() { return pets;} //types方法的具体实现 } ⑷ 程序的第四部分:P326~327 ★ 设计一个能够跟踪各种不同类型的Pet的数量的工具,Map是首选,其中键是Pet子类型名,而值是保存Pet子类对象数量的Integer public class PetCount { // 先定义对宠物进行计数的静态内部类 static class PetCounter extends HashMapString,Integer { public void co

文档评论(0)

JuanHuang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档