• jdk1.5新特性


    1.静态导入(注意:这是1.5的新特性。1.5之前的版本一定会报错):

    import可以导入一个包中的一个类或一个包中的所有类

    Import可以导入一个类中的一个静态方法或所有静态方法

    import static java.lang.Math.abs;
    import static java.lang.Math.*;

    通过导入Math中的方法,可以再程序中使用abs方法时,不用加类名,直接使用

    System.out.println("max="+max(num1,num2));
    System.out.println("abs="+abs(num2-num1));

    2.可变参数

    一个方法的参数个数可以使不确定的,例:

    add(num1,num2,num3);
    add(num1,num2);

    可变参数的特点:

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

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

    //可变数组的定义
        public static int add(int num1,int...args)
        {
            int result=num1;
            for(int i=0;i<args.length;i++){
                result=result+args[i];
            }
            return result;
        }
        public static void main(String[] args)
        {
            int[] nums={1,1,1};
            //可变数组的调用
            System.out.println(add(1,nums));
        }

    3.for循环

    for(type 变量名:集合变量名)

    {

    }

    说明:

    (1)迭代变量必须在()里面定义

    (2)集合变量可以是数组或者实现了Iterable的集合类【hashMap类不可以使用】

    (3)type前面还可以加修饰符 ,例:final

    例:

    public static int add(int num1,int...args)
    {
        int result=num1;
        /*for(int i=0;i<args.length;i++){
            result=result+args[i];
        }*/
        for(int i:args)
        {
            result=result+i;
        }
        return result;
    }

    4,基本数据类型的自动装箱与拆箱

    在-128~127之间的整数,在new Integer时,是有一个池子,在池子中取这些对象【这里用到了享元模式的思想】

    享元模式的详细介绍:http://www.cnblogs.com/excellencesy/p/8911003.html

    Integer num1=1;
    Integer num=1;
    System.out.println(num==num1);

    两个Integer是同一个对象

    而:

    Integer num1=1111;
        Integer num=1111;
        System.out.println(num==num1);

    是两个不同的对象

    Extend:

    //两个String不是同一个对象
    String str1=new String("abc");
    String str2=new String("abc");
    System.out.println(str1==str2);

    每次new都是在创建新的对象

    但是:

    String str1="abc";
    String str2="abc";
    System.out.println(str1==str2);

    两个String是同一个对象

    extends:

    Integer num1=Integer.valueOf(3);
    Integer num=Integer.valueOf(3);
    Integer valueOf(int num);这个静态方法,是手动的将int对象变成Integer。
    这两个也是同一个对象
    Integer num1=Integer.valueOf(333);
    Integer num=Integer.valueOf(333);

    这两个不是同一个对象

    5,反射,这个在之前整理过:http://www.cnblogs.com/excellencesy/p/8868567.html

    6,注解Annotation(很重要)

  • 相关阅读:
    docker工具链概述
    Microsoft.AspNetCore.Authentication.Cookies从入门到精通 (二)
    Microsoft.AspNetCore.Authentication.Cookies从入门到精通 (一)
    阿贝云免费虚拟主机使用体验
    Topshelf 秒建 Windows 服务
    一次兼职项目开发的经历
    修改了my.ini没有效果,MySql的字符集还是没有变成utf8——mysql中文乱码
    【转载】Fiddler工具使用介绍(一)
    C#中$的用法
    系统开发常用模块
  • 原文地址:https://www.cnblogs.com/excellencesy/p/8911280.html
Copyright © 2020-2023  润新知