第2章Java5语言新特性.ppt
《第2章Java5语言新特性.ppt》由会员分享,可在线阅读,更多相关《第2章Java5语言新特性.ppt(38页珍藏版)》请在三一文库上搜索。
1、第2章 Java 5语言新特性,(学时数:学时),学习要点:,1了解java5.0新语言特性包括哪几个方面。 2了解java5.0中增强的for循环 。 3了解java5.0的注释新特性 。 4掌握枚举 。 5. 掌握范型 。 6. 掌握类型自动转换 。 7. 了解静态导入 8. 了解格式化输入与输出 。,第2章 Java 5语言新特性,1.1 新语言特性总览 1.2 增强的for循环 1.3 注释 1.4 枚举 1.5 范型 1.6 类型自动转换 1.7 静态导入 1.8 格式化输入与输出,1.1 新语言特性总览,1.1.1 Java 5.0 的诞生 1.1.2 Java 5.0的新语言特性
2、,1.2 增强的for循环,1.2.1 Init表达式 1.2.2 局限性,1.3 注释,1.3.1 注释的作用 1.3.2 用户自定义标签 1.3.3 获取注释信息,1.4 枚举,1.4.1 enum类型特征 1.4.2 使用enum类型,1.5 范型,1.5.1 类型安全 1.5.2范型定义 1.5.3 声明范型类和类型参数 1.5.4 声明范型接口和多个类型参数,1.6 类型自动转换,1.6.1 类型自动转换,1.7 静态导入,1.7.1 静态导入,1.8 格式化输入与输出,1.8.1 格式化输出 1.8.2 格式化输入,Java5.0的诞生,时间:2004年10月 版本名称不是Java
3、1.5而是Java 5.0的原因 ?从Java诞生至今已有9年时间,而从有J2SE算起也有5个年头了;在这样的背境下,将该版本号从1.5改为5.0可以更好的反映出新版的Java技术的成熟度、稳定性、可伸缩性、安全性。 Java 5.0的目标 :通过增强Java平台的力量,允许开发者更容易地使用,Java编程语言的这些改进将吸引大量各种Java开发者 。,Java 5.0的新特性,范型 :添加编译时类型来检查您的代码 ,使用范型来代替所有的类型转换 。 加强的For循环:在Collection中使用循环来代替迭代器 。 自动打包:无须手工打包和拆包(box and unbox)原始类型 。 枚举
4、:Java开发者 可以使用枚举类 。 变参:方法调用之中把变参当作一系列独立的参数 。 静态导入:静态倒入(Static Import)特征允许您导入所有静态类的成员到您的代码中,并且可以通过简短和非限制的名称来引用这些常量和方法。 评注 :提供了一个代码运行时可访问的信息 。 国际化:Unicode 4.0的支持 。 质量:稳定性、强壮性和兼容性,Init表达式,在循环中,初始化表达式只计算一次 未增强的For : int sum = 0; Integer numbers = computeNumbers(); for (int i=0; i numbers.length ; i+) sum
5、 += numbersi; 增强后的For: int sum = 0; for ( int number: computeNumbers() ) sum += number;,局限性,不可以在迭代期间访问迭代器或下标。 例子1: for (int i=0; i it = n.iterator() ; it.hasNext() ; ) if (it.next() 0) it.remove();,注释的作用,可以被用来生成文档,检查代码间依赖关系,帮助编译器作语法检查。 文档生成工具:Xdoclet 、javadoc 代码检查举例: public class Parent public void
6、foo() System.out.println(“Original Implementation of foo“); public class Child extends Parent Override public void foo() System.out.println(“Overide Implementation of foo“); ,注释的作用,子类想重载foo()方法,不过用户可能一时疏忽把它写成了fob()。 错误提示: Child.java:3: method does not override a method from its superclass Override 1
7、 error,用户自定义标签,用户自定义标签 : package tiger.annotation; /* * 用户自定义标签MyTag */ public interface MyTag /定义了一个tag之后,用户就可以在任何java文件中使用这个tag了: import tiger.annotation.MyTag; public class TagTest MyTag public void testTag() /注释类型还可以有成员变量: package tiger.annotation; /* * 用户自定义标签,带有成员变量的MyTag */ public interface M
8、yTag String name(); int age(); ,用户自定义标签,用户可以这么使用这个标签: MyTag(name=“MyTag“,age=1) public void testTag() ,获取注释信息,import java.lang.annotation.Annotation; import tiger.annotation.MyTag; public class TagTest MyTag(name=“MyTag“,age=1) public void test() public static void main(String args) TagTest tt = new
9、 TagTest(); try Annotation annotation =tt.getClass() .getMethod(“test“).getAnnotations(); for (Annotation tag :annotation) System.out.println(“Tag is:“ + tag); System.out.println(“tag.name()“ + (MyTag)tag).name(); System.out.println(“tag.age()“ + (MyTag)(tag).age(); catch(NoSuchMethodException e) e.
10、printStackTrace(); ,获取注释信息,执行TagTest可以得到输出如下: Tag is:tiger.annotation.MyTag(name=MyTag, age=1) tag.name()MyTag tag.age()1,enum类型特征,它不能有public的构造函数 所有枚举值都是public、static和final的。 默认实现了java.lang.Comparable接口。 enum重载了toString方法 valueOf方法,这个方法和toString方法是相对应的。 values方法 oridinal方法,使用enum类型,遍历所有枚举值: for (Co
11、lor c: Color.values() System.out.println(“find value:” + c);,使用enum类型,在enum中定义方法和变量 : public enum Color Red, Green, Blue; /定义一个变量表示枚举值的数目。 private static int number = Color.values().length ; /* * 随机返回一个枚举值 return a random enum value. */ public static Color getRandomColor() long random = System.curre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java5 语言 特性
链接地址:https://www.31doc.com/p-2252321.html