Java核心逻辑第12章JDK新特性课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java核心逻辑第12章JDK新特性课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 核心 逻辑 12 JDK 特性 课件
- 资源描述:
-
1、第第12章章 JDK新特性新特性回顾回顾l class对象对象l 获取类对象的方式获取类对象的方式l 反射包反射包(java.lang.reflect)l 反射的作用反射的作用本章目标本章目标l静态导入静态导入l可变长参数可变长参数l格式化输入输出格式化输入输出l枚举枚举l注解注解lJDK6/JDK7新特性新特性本章结构本章结构JDK新特性新特性JDK6新特性新特性JDK7新特性新特性二进制字面值二进制字面值脚本支持脚本支持JDK5新特性新特性访问访问javac的的api可变长参数可变长参数格式化输入格式化输入/输出输出枚举枚举注解注解静态导入静态导入静态导入静态导入l通过静态导入可以在使用一
2、个类型静态成员的时候,不通过静态导入可以在使用一个类型静态成员的时候,不 用书写类名,直接使用静态成员即可用书写类名,直接使用静态成员即可l以前统一声明常量时,很多人选择在一个接口中声明许多以前统一声明常量时,很多人选择在一个接口中声明许多静态常量,接口的用途是约定实现类有什么功能,用来声静态常量,接口的用途是约定实现类有什么功能,用来声明常量显然不合理,现在可以统一在一个类中声明静态常明常量显然不合理,现在可以统一在一个类中声明静态常量,并且在需要的地方使用静态导入量,并且在需要的地方使用静态导入l注意:注意:静态导入会降低程序的可读性,不要过多使用!静态导入会降低程序的可读性,不要过多使用
3、!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);可变长参数可变长参数l 可以使方法的参数个数可变可以使方法的参数个数可变publi
4、c 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);可变长参数可变长参数l 可变长参数其本质实际上就是数组,但比定义数组更加灵可变长参数其本质实际上就是数组,但比定义数组更加灵 活活public static void print1(String
5、s)public static void print(String.s)for(String ss:s)System.out.println(ss);可变长参数可变长参数l 可以把可以把main函数改写成可变长参数函数改写成可变长参数 l 一个方法中最多有一个可变长参数一个方法中最多有一个可变长参数 l 可变长参数必须作为方法的最后一个参数可变长参数必须作为方法的最后一个参数public static void main(String.args)print();print(tom);print(tom,cat);格式化的输入格式化的输入输出输出l JDK5.0提供了新的输入输出语句提供了新的输
6、入输出语句格式化输出语句格式化输出语句 System.out.printf()String的静态方法:的静态方法:static String format(String format,Object.args)可以用来生成一个字符串,这个方法的用法和可以用来生成一个字符串,这个方法的用法和printf一模一样,一模一样,printf显然在程序中毫无用途,显然在程序中毫无用途,String.format方方法才是非常实用的,尤其在拼装字符串时法才是非常实用的,尤其在拼装字符串时String name=张三;int age=20;System.out.printf(有个学生叫%s,他的年龄是%d。n
7、,name,age);/创建格式化字符串String msg=String.format(有个学生叫%s,他的年龄是%d。,name,age);System.out.println(msg);格式化的输入格式化的输入输出输出l 提供了更为简单的从命令行获取输入的工具类提供了更为简单的从命令行获取输入的工具类java.util.Scanner 不要关闭不要关闭Scanner,如关闭了,则,如关闭了,则System.in也关闭了也关闭了当调用当调用nextInt()等方法时如果抛出异常(等方法时如果抛出异常(InputMismatchException),则这个),则这个Scanner对象不可以再
8、继续对象不可以再继续使用,必须重新创建一个。使用,必须重新创建一个。Scanner input=new Scanner(System.in);int i=input.nextInt();枚举类型枚举类型l 一个类所创建的对象个数是固定的一个类所创建的对象个数是固定的l 枚举本质上还是类枚举本质上还是类l enum关键字关键字enum Season SPRING,SUMMER,AUTUMN,WINTERpublic class TestEnum public static void main(String args)Season season=Season.SPRING;枚举类型枚举类型l 在没
9、有枚举类型前在没有枚举类型前,可以通过如下代码模拟枚举类型,可以通过如下代码模拟枚举类型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 Season();public static
10、final Season WINTER=new Season();private Season()枚举特点枚举特点l 枚举类型的父类枚举类型的父类 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,WINTER枚举特点枚举特
11、点l 枚举类型的父类枚举类型的父类 java.lang.Enum static T extends Enum 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();枚举特点枚
12、举特点 values()public class TestEnum3 public static void main(String args)Season seasons=Season.values();for(Season season:seasons)System.out.println(name is +season.name()+,ordinal+season.ordinal();枚举特点枚举特点l 枚举类型可以定义属性,并提供相应的方法枚举类型可以定义属性,并提供相应的方法enum Season SPRING,SUMMER,AUTUMN,WINTER;private String n
13、ame;public String getName()return name;public void setName(String name)this.name=name;枚举特点枚举特点public class TestEnum public static void main(String args)Season s=Season.SPRING;s.setName(tomcat);System.out.println(s.getName();枚举特点枚举特点l 枚举类型有构造方法枚举类型有构造方法 但只能是私有的但只能是私有的 l 枚举类型可以显示提供构造方法枚举类型可以显示提供构造方法en
展开阅读全文