java新特性之JDK1.5

java新特性(自1.5開始)

java1.5

java 1.5 被稱為跨時代的更新

  1. 引入泛型;
  2. 增強循環(huán),可以使用迭代方式(也稱foreach語句);
  3. 自動裝箱與自動拆箱;
  4. 枚舉;
  5. 可變參數(shù);
  6. 靜態(tài)導(dǎo)入;
  7. 元數(shù)據(jù);
  8. Instrumentation。
詳解:
  • 泛型
    泛型之前已經(jīng)整理過了,傳送門

  • 增強for循環(huán)
    格式:for(ElementType element:arrayName){};
    ElementType可以是數(shù)組或者實現(xiàn)了Iterable接口的集合類, 使用增強for循環(huán)的時候會忽略角標(biāo)信息,所以在需要角標(biāo)的時候最好還是使用傳統(tǒng)的方式。

public class Demo {
    public static void main(String[] args) {
        int[] ints = {1, 2, 4, 7, 8};
        String showInts = "[ ";
        for (int i : ints){
            showInts += i + " ";
        }
        showInts += "]";
        System.out.println(showInts);
    }
       /*
    結(jié)果: [ 1 2 4 7 8 ]
    */
}
  • 自動裝箱與自動裝箱
    java為了效率,定義了8中基本數(shù)據(jù)類型: byte short int long
    char float double boolean 但是他們不是對象,沒有指定的方法,所以他們有對應(yīng)的封裝類,而且內(nèi)部定義了一些方法(定義泛型的時候用到基本數(shù)據(jù)類型的時候只能用其封裝類)
      基本數(shù)據(jù)類型 -------------------  封裝類
            byte --------------------  Byte
           short --------------------  Short
            int  --------------------  Integer
            long --------------------  Long
            char --------------------  Character
           float --------------------  Float
          double --------------------  Double
         boolean -------------------- Boolean
    Integer intNum = 13; //自動裝箱
    int intNum2 = new Integer(13);//自動拆箱
    //你可能會覺得沒什么作用 但是在之前必須手動裝箱拆箱
    Integer intNum3 = new Integer(13); //手動裝箱
    int intNum4 = intNum3.intValue();//手動拆箱
    //就問你惡心不惡心 多麻煩
  • 枚舉

枚舉:一些方法在運行時,它需要的數(shù)據(jù)不能是任意的,而必須是一定范圍內(nèi)的值,可以直接使用枚舉予以解決。
枚舉類的定義格式:

enum 類名{
    //枚舉值
}

有些方法在運行時,它需要的數(shù)據(jù)不能是任意的,而必須是一定范圍內(nèi)的
值,有了枚舉之后可以直接使用枚舉解決。比如: 方向 , 性別 , 季節(jié) ,星期等

枚舉要注意的細(xì)節(jié):

  1. 枚舉類也是一個特殊的類。
  2. 枚舉值默認(rèn)的修飾符是public static final。
  3. 枚舉值就是是枚舉值所屬的類的類型, 然后枚舉值是指向了本類的對象的。
  4. 枚舉類的構(gòu)造方法默認(rèn)的修飾符是private的。
  5. 枚舉類可以定義自己的成員變量與成員函數(shù)。
  6. 枚舉類可以自定義構(gòu)造函數(shù),但是構(gòu)造函數(shù)的修飾符必須是private。
  7. 枚舉類可以存在抽象的方法,但是枚舉值必須要實現(xiàn)抽象的方法。
  8. 枚舉值必須要位置枚舉類的第一個語句。
  9. 枚舉值可以用于switch語句
enum Sex{
    man("男"){
        @Override
        public void run() {
            System.out.println("男人在跑...");
        }
        
    },woman("女"){

        @Override
        public void run() {
            System.out.println("女人在跑...");
        }
        
        
    }; //枚舉值
    
    String value; //成員變量
    

    //    public static final Sex man = new Sex();
    
    
    //構(gòu)造函數(shù)
    private Sex(String  value){
        this.value = value;
    }
    
    //成員函數(shù)
    public void getValue(){
        System.out.println("value :"+ value);
    }
    
    public abstract void run();
    
}

public class Demo {
    
    public static void main(String[] args) {
        Sex sex = Sex.man; //獲取到了枚舉類的對象
        sex.value = "男";
        sex.getValue();
        sex.run();
    //結(jié)果 :value :男
            男人在跑...
    }    
}
  • 可變參數(shù)之前也使用過,比如我們要寫一個方法來計算兩個數(shù)的和:
    public void add(int a, int b){
        System.out.println("和是: " + (a+b));
    }

但是呢,我們要求好幾個數(shù)的和,但是不知道有幾個,一種思路就是將函數(shù)形參聲明為一個數(shù)組,傳遞數(shù)組,來求數(shù)組元素的和。可變參數(shù)其實就是維護(hù)了一個數(shù)組,此時可以使用可變參數(shù),格式 類型... 變量名

    public void add(int... nums){
        int sum = 0;
        for (int i : nums){
            sum+=i;
        }
        System.out.println("和是: " + sum);
    }    
  • 靜態(tài)導(dǎo)入

靜態(tài)導(dǎo)入的作用: 簡化書寫。
靜態(tài)導(dǎo)入可以作用一個類的所有靜態(tài)成員。

靜態(tài)導(dǎo)入的格式:
import static 包名.類名.靜態(tài)的成員;

靜態(tài)導(dǎo)入要注意:
如果靜態(tài)導(dǎo)入的成員與本類的成員存在同名的情況下,那么默認(rèn)使用本類的靜態(tài)成員,如果需要指定使用靜態(tài)導(dǎo)入的成員,那么需要在靜態(tài)成員前面加上類名。個人感覺靜態(tài)導(dǎo)入還是少用比較好,包的機制有個重要的作用就是避免命名的問題。
import static java.lang.System.out;

public class Demo1 {
    public static void main(String[] args) {
        out.println("haha...");
    }
}
  • 元數(shù)據(jù)和Instrumentation

這個暫時可以不用理解,在此就先不詳解。

未完。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,144評論 0 62
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 1、.java源文件: 一個以”.java“為后綴的源文件:只能有一個與文件名相同的類,可以包含其他類。 2、類方...
    Hughman閱讀 1,534評論 1 9
  • 交互設(shè)計師的主要任務(wù) 通過分析用戶心理模型,設(shè)計任務(wù)流程,把交互邏輯也就是功能和需求,以用戶能理解的方式傳達(dá)給yo...
    711child閱讀 1,377評論 0 6