- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
day27基础增强
基础增强:1. 课程回顾XML技术Servlet/Jsp数据库Jdbc技术JavaWeb增强过滤器、监听器、文件上传与下载、国际化学过的组件:Dom4J/Xpath、DBUtils、C3p0、BeanUtils、log4J… Struts / Spring / Hibernate目标:1. 泛型2. 注解3. log4J 日志 (项目中)4. 枚举2. 泛型掌握的知识:基本用法、泛型擦除、泛型类/泛型方法/泛型接口、泛型关键字、反射泛型(案例)!a. 概述泛型是JDK1.5以后才有的,可以在编译时期进行类型检查,且可以避免频繁类型转化!// 运行时期异常@Testpublicvoid testGeneric() throws Exception {// 集合的声明List list = newArrayList();list.add(China);list.add(1);// 集合的使用String str = (String) list.get(1);}// 使用泛型@Testpublicvoid testGeneric2() throws Exception {// 声明泛型集合的时候指定元素的类型ListString list = new ArrayListString();list.add(China);//list.add(1);// 编译时期报错String str = list.get(1); }泛型擦除,泛型只在编译时期有效,编译后的字节码文件中不存在有泛型信息!/* * 泛型擦除实例public void save(ListPerson p){}public void save(ListDept d){ // 报错:与上面方法编译后一样}*/泛型写法:// 泛型写法@Testpublicvoid testGeneric3() throws Exception {// 声明泛型集合,集合两端类型必须一致ListObject list = new ArrayListObject();ListString list1 = new ArrayListString();List list2 = new ArrayListString();ListInteger list3 = new ArrayList();// 错误//ListObject list4 = new ArrayListString();// 错误:泛型类型必须是引用类型,不能为基本类型Listint list5 = new ArrayListint();}b. 泛型方法/泛型类/泛型接口作用:设计公用的类、方法,对公用的业务实现进行抽取!使程序更灵活!1. 泛型方法:publicclass GenericDemo {// 定义泛型方法public K,T T save(T t,K k) {returnnull;}// 测试方法@Testpublicvoid testMethod() throws Exception {// 使用泛型方法: 在使用泛型方法的时候,确定泛型类型save(1.0f, 1);}}2. 泛型类:publicclass GenericDemoT {// 定义泛型方法public K T save(T t,K k) {returnnull;}publicvoid update(T t) {}// 测试方法@Testpublicvoid testMethod() throws Exception {// 泛型类:在创建爱泛型类对象的时候,确定类型GenericDemoString demo = new GenericDemoString();demo.save(test, 1);}}3. 泛型接口:/** * 泛型接口 * @author Jie.Yuan * * @paramT */publicinterfaceIBaseDaoT {void save(T t );void update(T t );}泛型接口类型确定:实现泛型接口的类也是抽象,那么类型在具体的实现中确定或创建泛型类的时候确定publicclass BaseDaoT implements IBaseDaoT {泛型接口类型确定:在业务实现类中直接确定接口的类型publicclassPersonDaoimplements IBaseDaoPerson{c. 泛型关键字泛型中:? 指定只是接收值extends 元素的类型必须继承自指定的类super元素的类型必须是指定的类的父类关键字:?/** * 泛型, 涉及到一些关键字 * * Ctrl + shift + R 查看当前项目中类 * Ctrl + shift + T
您可能关注的文档
- 淤尖实验学校9AUnit 1 Know yourself基础检测卷.doc
- 概况英国练习题.doc
- 小学英语绘本教学的运用与探索葛立强.doc
- 四年级英语上册Moudule 5Can yourun fast及反思.doc
- autoRunner使用方法.doc
- Module2 Unit2 I can run really fast_赵雪晴.doc
- 教程实例游戏的学习实现《Little Runner》.doc
- Module5 unit 1 can you run fast教案.doc
- 安装loadrunner过程中遇到的问题及解决办法.docx
- 四年一期M5U1Can you run fast教案.doc
文档评论(0)