- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
19-JDK5新特性
JDK5新特性 静态导入 自动装箱/拆箱 枚举 新的循环forEach 可变参数 泛型 反射 注解 静态代理和动态代理 静态导入 使用静态导入,可以导入指定类中的静态属性和静态方法,然后在导入的类中就像使用自己本类定义的属性或方法一样使用。 语法: import static package.Class.static_method import static package.Class.static_field 静态导入 import static java.lang.System.out; public class StaticImportTest { public static void main(String[] args) { out.print(静态导入成功!); } } 自动装箱/拆箱 自动装箱:将简单类型数据自动转换成对应封装类型 自动拆箱:将封装类型自动转换成对应简单类型 需要注意的地方: boolean类型的值 所有byte类型的值 在-128~127之间的short类型的值 在-128~127之间的int类型的值 在\u0000~\u007F之间的char类型的值 注意上面范围内的数据的自动装箱方式 枚举 表示一组相同类型的常量。 枚举值都是public static final定义的。 枚举就是要让某个类型的变量取值范围只能在固定的值中获得。 使用enum关键字定义枚举类型。 枚举类是特殊的类。 构造器只是在构造枚举值的时候被调用。 构造器只能私有private。 新的循环forEach 用于遍历数组或者集合 for( type variable : 数组或者集合){…} 例如: for(String arg : args){ System.out.println(arg); } 可变参数 在方法声明中,可以使用不定数量的同类型变量。 使用 “…” 实现。 Java 编译器将可变参数转换成相应类型的数组进行处理。 注意: 可变参数必须是在参数列表的最后面。 public class Test{ public static void tests(int arg , String...args){ System.out.println(arg); int i=1; for( String s : args ){ System.out.println(args第[+i+]参数:+s); i++; } } public static void main(String args[]){ tests(2,a,b,c,d); tests(2,a,b); } } 泛型 泛型的作用和意义 泛型的本质就是将所操作的数据类型参数化,即该数据类型被指定为一个参数。 它在编译的时候进行类型安全检查,并且在运行时所有的转换都是强制的,隐式的,大大提高了代码的复用。 使用泛型的好处有: 内在的类型转换优于在外部的人工转换 类型的匹配问题在编译阶段就可以发现,而不用在运行阶段 泛型规则和限制 在使用泛型时,请注意: 1、泛型的参数类型只能是引用类型,而不能是简单类型。 例如:int是不可使用的。 2、可以声明多个泛型参数类型,比如T, P,Q…,同时还可以嵌套泛型,例如:ListString 3、泛型的参数类型可以使用extends语句。 例如:T extends superclass。 4、泛型的参数类型可以使用super语句。 例如 T super childclass。 5、泛型还可以使用 ? 通配符。 例如? extends ArrayList。 限定通配符的上边界: ArrayList? extends Number a = new ArrayListInteger(); 限定通配符的下边界: ArrayList? super Integer a = new ArrayListNumber(); 创建自己的泛型 任何类,接口,异常,方法都可以使用泛型,下面是个简单的例子,使用泛型来比较两个对象的大小,两个对象必须都实现了Comparable接口。 public?T?extends?Comparable?T?max(T?t1,?T?t2)?{ ?????????if(pareTo(t2)?=?0)?{ ????????????return?t2; ????????}?else?{ ????????????return?t1; ????????} ????} 反射 Java 反射是Java语言的
您可能关注的文档
- JavaIO流详解.doc
- 北大青鸟C_课件系列3.ppt
- Java高级IO流.doc
- java论文(附有代码).doc
- 第9章 字符串和文本IO.ppt
- 03 Java语句.ppt
- java基础-异常处理课件.ppt
- hj2se(多态).ppt
- Java 方法 类 包.ppt
- Java基础培训(原创东北大白话版).pptx
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)