黑马程序员_java高新技术-jdk1.5新特性


------- android培训java培训、期待与您交流! ----------


1,静态导入,即StaticImport

用法:

    import  static java.lang.Math.max;//导入某个类的一个叫max的静态方法

    import  static java.lang.Math.*;//导入每个类中的所有静态方法

2,可变参数//只能添加到参数末尾

用法;

public static int add(int ... x)//此处表示可以传入多个int值,但内部计算是整合成一个int[]

int num=0;

  for(y=0;y<x.length;y++)//遍历整个数组

        num+=x[y];

return num;

}

3,自动装箱与拆箱AutoBox

  用法:

Integer x=8;//1.5以后才可以原来是Integer x=new Integer(8);

int z=x*6;//自动拆箱,Integer对象直接可以与基本数据进行运算;

4,享元模式:flyweight

用法:

String s="abc";//这里都知道字符窜其实是一个字符数组,即他的第一个指针指向'a',是基本数据,低于1个字节

String s1="abc";

//我们知道s==s1结果是true

Interger x=120;

Integer y=120;

//此时x==y,结果是true

Integer x=128;

Integer y=128;

//此时x==y结果就为false;

得出结论:在 都指向一个较小的数据时(低于一个字节是),系统默认就指向同一个Hash地址,进行数据共享,不再重新开辟空间,因为内存中这样的数据非常常见,数量也比较大,因此很大程度上节约了内存空间

5.高级for循环

用法:

int[] a={2,5,8,9,2,29,23,9};

for(int x:a)//格式for(基本数据类型或者对象(以存储的实际类型为主)       x(引用名称) : 集合或数组的引用名称)

System.out.println(x);

总结:直接可以遍历已知长度的数组和集合之类的,大大提高效率;

6:枚举

java一些类中往往会出现好多不同对象并列存在的情况,并且相互之间还有关系

你不可能要一一获得,使用时还要大量的if和elsej进行判断,就像星期类,日期,还有存在很多对象的集合

枚举的方法就是,得到其中一个对象,你就能通过它们之间的关系枚举出所有的对象

普通的枚举就是:定义方法或者把对象封装成子类,就像星期,用第一个对象Monday,next第二个对象Tuesdar,再通过第二个对象next获得第三个对象Wednesday,或者封装成7个子类,这样下来数据量过大还是会造成一样的繁琐,

所以1.5以后出现了java的高级枚举Enum

如:

public class EnumText

{      public static void main(String[] args)

       {// 每个枚举类中都有toString,equals,valueOf(String  name),values()只列举比较常用的

      weekday.valueOf("Sun");//得到Sun所代表的对象

      weekday.values();//得到weekday中所有的对象并按顺序装成一个数组,

可以用高级for循环遍历,即:

weekday[]  we= weekday.values();

for(weekday day:we)

System.out.println("今天是"+day);

//另外,enum类中只有一个元素时,也是当做单例的设计,因为enum类不允许外部创建对象,构造函数必须私有

 class  enum  weekday//枚举类

{Sun,Mon,Tue,Wed,Thu,Fri,Sta;//默认是空参数的构造方法

}

}

7.反射//此不属于1.5新特性,只是利用可变参数等新特性加强了各种功能

反射就是把一个类中所有的元素都分别映射为不同的类;

比如构造函数映射为构造类,

方法映射为方法类,内含对java方法的描述.

各种常量映射为常量类;

数组,集合等分别映射成不同的类,

主要作用就是根据.class字解码文件,根据需求获取相应的数据,并对其进行操作,很多框架,反编译都要用到反射;



------- android培训java培训、期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值