- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java程序设计-第五部分I
Java程序设计 第五部分:其他特性 泛型 枚举 其他新特性 章节目录 章节目录 泛型概念 简单泛型类型 泛型与继承 通配符 泛型方法 泛型基本概念 泛型的本质就是参数化类型,是对类型的抽象 集合都使用了泛型,对其中的元素类型参数化 ListString list2=new ArrayListString(); list2.add(abc); //list2.add(new Integer(2));//编译错误!!! String ss=list2.get(0); 定义简单泛型类 声明类名后使用E(E可以是任何其他字母),即可以指定该类是一个泛型类 类型参数可以在该类中需要数据类型的地方使用,如属性声明、方法声明等 泛型与继承 正确代码 错误代码 ListString ls = new ArrayListString(); ListObject lo = ls;//编译错误!!! 通配符 Collection?(发音为:collection of unknown),它的元素类型可以匹配任何类型,?号被称为通配符 void printCollection(Collection? c) { for (Object e : c) { System.out.println(e); } } 泛型方法 泛型方法使得该方法能够独立于类而产生变化 要定义泛型方法,只需将泛型参数列表置于返回值之前 public E E getX(E x){ return x; } 章节目录 枚举的作用 枚举的创建 Enum类 遍历枚举 为什么使用枚举 当应用中需要一些特定的常量值时,就可以使用enum类型 可以保证在编译期间检测应用使用的常量值是否合法,避免运行期逻辑错误 package com.etc.chapter21; public enum StudentGrade { A,B,C; } 创建枚举 使用enum关键字,指定enum的名字 可以在类中创建 package com.etc.chapter21; public class GUIDisplayer { public enum Orientation { East,South,West,North,Center }} Enum类 Java API中有一个Enum类,所有枚举类型都继承了该类 该类继承了Object类,同时实现了Comparable接口 所有的enum值都可以使用Enum类、Object类以及Comparable接口中的方法 遍历枚举中的值 对于enmu类型中的值,可以使用values方法进行遍历 package com.etc.chapter21; public class TestIteratorEnum { public static void main(String[] args) { // TODO Auto-generated method stub Orientation[] ors=Orientation.values(); for(Orientation o:ors){ System.out.println(o); }}} 枚举中的细节问题 enum中可以声明构造方法,但是构造方法的权限必须是私有的 在enum中声明方法跟在Java类中声明方法一样 switch中可以使用枚举 章节目录 增强for循环 自动装箱拆箱 静态导入 可变参数 Annotation 增强for循环 增强for循环是用来迭代数组和集合对象的简便方法 for(数组或集合中的元素类型 临时变量 : 需要迭代的数组或集合的引用){ } 自动装箱拆箱 自动装箱(auto-boxing)和自动拆箱(auto-unboxing)是用来对Wrapper类型和基本数据类型之间自动进行转换的方法 int m=100; Integer im=m; int n=im; 静态导入 不仅可以使用import引入不同包的类,还可以引入某类的静态属性和方法 package com.etc.chapter22; import static java.util.Arrays.sort; 可变参数 如果多个方法参数类型都完全相同,只是参数个数不同。针对这种情况,可以使用可变参数进行改进 public static int add(int...args){ int result=0; for(int x:args){ result+=x; } return result; } annotation Annotation是适用于包、类型声明、构造方法、方法、属性、参数,甚至变量的修饰符 Annotation采用name=value成对的形式 Java API中提供
文档评论(0)