A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 爱学习的小明 中级黑马   /  2014-11-14 11:02  /  1174 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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)。
享元模式:有很多个小的对象,它们有很多属性相同,可以把它们变成一个对象,那些不同的属性把它们变成方法的参数,称之为外部状态,那些相同的属性称之为内部状态。




评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
不错不错  总结的很好
回复 使用道具 举报
学习了  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马