黑马程序员技术交流社区

标题: 个人学习笔记——java1.5的新特性 [打印本页]

作者: 爱学习的小明    时间: 2014-11-14 11:02
标题: 个人学习笔记——java1.5的新特性
java1.5版本后出现的新特性:
一、静态导入
        import语句可以导入一个类或某个包中的所有
    例如:import java.io.*;
    在java1.5新特性
        import static语句导入一个类中的某个静态方法或所有静态方法
    例如:ipmort static java.io.*;
这两者的区别,import导入包中的类后调用类中的静态方法,用类名.静态方法
              import导入包中的所有静态方法后,直接用静态方法即可。
注意:静态导入是java1.5以后出现的新特性,在eclipse中要想使用静态导入,编译和运行环境一定要记得配置为JDK1.5以后的版本。


二、可变参数
当一个方法接受的参数个数不固定,例如:System.out.println(countScore(2,3,5)); System.out.println(countScore(1,2,3,5));中countScore方法里的参数个数不固定,为了实现多个不确定参数的方法,我们可以用可变参数来解决以前需要重载多个方法来实现的难题。countSocre(int... args);



可变参数的特点:
1.只能出现在参数列表的最后;
2....位于变量类型和变量名之间,前后有无空格都可以;
3.调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
示例:
        public static void main(String[] args)
        {
                System.out.println(countScore(2,3,5));
                                System.out.println(countScore(1,2,3,5));
        }
        public static int countScore(int...args)
        {
                int sum = 0;
                for(int x = 0 ; x<args.length ; x++)
                {
                        sum+=args[x];
                }
                return sum;
        }
eclipse小技巧:Ctrl+Shift+/将用鼠标划取的代码加注释。
三、加强for循环
加强for循环格式:for ( type 变量名:集合变量名 )  { … }
注意事项: 1.迭代变量必须在( )中定义。
2.集合变量可以是数组或实现了Iterable接口的集合类。
上述例子的for循环也可以用加强for循环写作:
                for(int arg :args)
                {
                        sum+=arg;
                }
四、基本数据类型的自动拆箱和装箱及享元模式
Integer i1 = 2;将基本数据类型自动装箱成Integer对象。
System.out.println(i1+12);将i1这个Integer对象自动拆箱成基本数据类型与基本数据类型相加。
Integer i2 = 23;Integer i3 = 23;i2和i3是同一个对象。在一个字节内-128至127之间的数,被装箱成一个Integer对象后,会被存放在缓存池内,下次需要再将一个整数(字节内)创建Integer对象时,先在缓存池中找是否已有这个对象,如果有直接用这个已有的对象,这样节约内存空间,这种设计模式称之为享元模式(flyweight)。
享元模式:有很多个小的对象,它们有很多属性相同,可以把它们变成一个对象,那些不同的属性把它们变成方法的参数,称之为外部状态,那些相同的属性称之为内部状态。





作者: 马个了黑_邓    时间: 2014-11-14 11:28
不错不错  总结的很好
作者: 范中俊    时间: 2014-11-16 21:30
学习了  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2