Java核心逻辑第12章JDK新特性.ppt
《Java核心逻辑第12章JDK新特性.ppt》由会员分享,可在线阅读,更多相关《Java核心逻辑第12章JDK新特性.ppt(41页珍藏版)》请在三一办公上搜索。
1、第12章 JDK新特性,回顾,class对象 获取类对象的方式 反射包(java.lang.reflect)反射的作用,本章目标,静态导入可变长参数格式化输入输出枚举注解JDK6/JDK7新特性,本章结构,JDK新特性,JDK6新特性,JDK7新特性,二进制字面值,脚本支持,JDK5新特性,访问javac的api,可变长参数,格式化输入/输出,枚举,注解,静态导入,静态导入,通过静态导入可以在使用一个类型静态成员的时候,不 用书写类名,直接使用静态成员即可以前统一声明常量时,很多人选择在一个接口中声明许多静态常量,接口的用途是约定实现类有什么功能,用来声明常量显然不合理,现在可以统一在一个类中
2、声明静态常量,并且在需要的地方使用静态导入注意:静态导入会降低程序的可读性,不要过多使用!,System.out.println(Math.PI);System.out.println(Math.abs(-1);,静态导入,import static java.lang.Math.*;import static java.lang.System.*;public class TestStatic public static void main(String args)System.out.println(PI);System.out.println(abs(-1);out.println(PI
3、);,可变长参数,可以使方法的参数个数可变,public static void print(String s)System.out.println(s);public static void main(String args)print();print(tom);print(tom,cat);public static void print(String.s)for(String string:s)System.out.println(string);,可变长参数,可变长参数其本质实际上就是数组,但比定义数组更加灵 活,public static void print1(String s)p
4、ublic static void print(String.s)for(String ss:s)System.out.println(ss);,可变长参数,可以把main函数改写成可变长参数 一个方法中最多有一个可变长参数 可变长参数必须作为方法的最后一个参数,public static void main(String.args)print();print(tom);print(tom,cat);,格式化的输入输出,JDK5.0提供了新的输入输出语句格式化输出语句 System.out.printf()String的静态方法:static String format(String form
5、at,Object.args)可以用来生成一个字符串,这个方法的用法和printf一模一样,printf显然在程序中毫无用途,String.format方法才是非常实用的,尤其在拼装字符串时,String name=张三;int age=20;System.out.printf(有个学生叫%s,他的年龄是%d。n,name,age);/创建格式化字符串String msg=String.format(有个学生叫%s,他的年龄是%d。,name,age);System.out.println(msg);,格式化的输入输出,提供了更为简单的从命令行获取输入的工具类java.util.Scanner
6、 不要关闭Scanner,如关闭了,则System.in也关闭了当调用nextInt()等方法时如果抛出异常(InputMismatchException),则这个Scanner对象不可以再继续使用,必须重新创建一个。,Scanner input=new Scanner(System.in);int i=input.nextInt();,枚举类型,一个类所创建的对象个数是固定的 枚举本质上还是类 enum关键字,enum Season SPRING,SUMMER,AUTUMN,WINTER,public class TestEnum public static void main(String
7、 args)Season season=Season.SPRING;,枚举类型,在没有枚举类型前,可以通过如下代码模拟枚举类型,public class TestSeason public static void main(String args)Season season=Season.SPRING;class Season public static final Season SPRING=new Season();public static final Season SUMMER=new Season();public static final Season AUTUMN=new Sea
8、son();public static final Season WINTER=new Season();private Season(),枚举特点,枚举类型的父类 java.lang.Enum name()ordinal(),public class TestEnum1 public static void main(String args)Season s=Season.SPRING;System.out.println(s.name();/SPRINGSystem.out.println(s.ordinal();/0enum Season SPRING,SUMMER,AUTUMN,WIN
9、TER,枚举特点,枚举类型的父类 java.lang.Enum static T valueOf(Class enumType,String name)极重要的一个静态方法,valueOf,可以用字符串来找到对应枚举对象。,public class TestEnum2 public static void main(String args)Season season=Enum.valueOf(Season.class,SPRING);System.out.println(season.name();,枚举特点,values(),public class TestEnum3 public sta
10、tic void main(String args)Season seasons=Season.values();for(Season season:seasons)System.out.println(name is+season.name()+,ordinal+season.ordinal();,枚举特点,枚举类型可以定义属性,并提供相应的方法,enum Season SPRING,SUMMER,AUTUMN,WINTER;private String name;public String getName()return name;public void setName(String na
11、me)this.name=name;,枚举特点,public class TestEnum public static void main(String args)Season s=Season.SPRING;s.setName(tomcat);System.out.println(s.getName();,枚举特点,枚举类型有构造方法 但只能是私有的 枚举类型可以显示提供构造方法,enum Season SPRING,SUMMER,AUTUMN,WINTER,枚举特点,enum Season SPRING(春天),SUMMER(夏天),AUTUMN(秋天),WINTER(冬天);privat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 核心 逻辑 12 JDK 特性
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5577254.html