黑马程序员-Java_JDK1.5新特性

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


一、静态导入

  • import语句可以导入一个类或某个包中的所有类

  • import static 语句导入一个类中的某个静态方法或所有静态方法。

   实际上静态导入就是简化书写。

   如下:

   当使用静态导入以后,可以简化书写:

import static java.lang.System.out;
import static java.lang.Math.max;//导入Math下max的静态方法
import static java.lang.Math.*;//导入Math下所有静态方法。
out.println(max(4,12));//求两数的最大值
out.println(abs(4-8));//求绝对值。


二、可变参数

   该方法充许指定数量不确定的形参。如果在定义方法时,在最后一个形参的类型后增加三点(...),则表明该形参可以接受多个参数值,多个参数值被当成数组传入

   如下:

class VariablepParameter
{
public static void test(int a, String... strs)
{
//strs被当作成数组处理,因此可以迭代
for(String str : strs)
{
System.out.println(str);
}
System.out.println(a);
}
public static void main(String[] args)
{
//调用test方法
test(3, "传智播客", "黑马程序员");
test(4, "传智播客", "黑马程序员", "Android培训", "java培训");
}
}
/*
-----------------------------------
传智播客
黑马程序员
3
传智播客
黑马程序员
Android培训
java培训
4
-----------------------------------
*/

下面两种方法效果是一样的:

//以可变参数的方式:
public static void test(int a, String strs){}
//以数组形参的方式:
public static void test(int b, String strs){}
//但如果采用数组形参的方式来声明方法,调用时则必须付给该形参一个数组。
test(3, new String[]{"传智播客","黑马程序员"});

总结:

1、只能出现在参数列表的最后;

2、...位于变量类型的变量名之间,前后有无空格都可以。

3、调用可变参的方法进,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。


三、增强for循环

1、语法:

for(参数类型 变量名 : 集合或数组变量名){}

2、注意事项:

  • 迭代变量必须在( )中定义.

  • 集合变量可以是数组或实现了Iterable接口的集合类.

上面的例子中已展现


四、自动拆箱与装箱

以一个例子来具体说明:

class IntegerDemo
{
    public static void main(String[] args)
    {
        Integer x = new Integer(4);
        Integer x = 4;
        /*
        自动装箱。"4"等价于new Integer(4);1.5版本以后新特性。x可以为空,
        也就是Integer x = null;这时就不能参与运算,否则会出现异常。
        */
        x = x/*拆箱原理:x.intValue()*/ + 2;
        //x + 2:x进行自动拆箱,变成了int类型,和2进行加法去处,再将和装箱给x。
        System.out.println(x);//6
        Integer m = 128;
        Integer n = 128;
        System.out.println(m == n);//false,因为是两对象
        Integer a = 127;
        Integer b = 127;
        System.out.println(a == b);//true,因为a和b指向了同一个Integer对象。
        /*
        在1.5新版本特性,当数值在byte范围内(-128~127)时,如果该数值已经存在,则不会
        再开辟新的空间。
        */
    }
}


五、枚举(Enum)

枚举在Java1.5新特性里是比较重要的,具体请参考我的博客:

http://1139347837.blog.51cto.com/blog/7481349/1252931


六、注解(Annotation)

这个知识点很重要,具体请参考我的博客:

http://1139347837.blog.51cto.com/7481349/1282437


七、泛型(Generic)

这个知识点也很重要,具体请参考我的博客:

http://1139347837.blog.51cto.com/blog/7481349/1247796



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

你可能感兴趣的:(jdk1.5新特性)