1. 程式人生 > >【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.7 其他幾個高階語法

【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.7 其他幾個高階語法

/**
* 其他幾個高階語法 學習筆記
* @author cnRicky
* @date 2018.11.11
*/

 

其他幾個高階語法

新的語法
  • 從JDK1.5起,增加了一些新的語法
  • 大部分是編譯器自動翻譯的,稱為Complier sugar("糖"用起來很方便,但在底層翻譯成別的語法要素了)
語法糖之 基本型別的包裝類
  • 基本型別的包裝類

    • 它將基本型別(primitive type)包裝成Object(引用型別
    • 如int -> Integer
    • 共8類:
      • Boolean,Byte,Short,Character,Integer,Long,Float,Double
  • Integer I = new Integer(10 );

語法糖之 裝箱與拆箱
  • 裝箱(Boxing) Integer I = 10;

  • 拆箱(Unboxing) int i = I;

  • 實際譯為

    • Integer I = Integer.valueOf(10);
    • int i = I.intValue();
  • 主要方便用於集合中,如:

  • Object[] ary = { 1, "aaa" };

語法糖之 列舉
  • 列舉(enum)是一種特殊的class型別

  • 在簡單的情況下,用法

    與其他語言enum相似

    • enum Light { Red, Yellow, Green };
    • Light light = Light.Red;
  • 但實際上,,它生成了 class Light extends java.lang.Enum

自定義列舉
  • 可以在enum定義體重,新增欄位、方法、構造方法
enum Direction
{
    EAST("東",1),SOUTH("南",2),
    WEST("西",3),NORTH("北",4);
    private Direction(String desc, int num){
        
this.desc = desc; this.num = num; } private String desc; private int num; public String getDesc(){ return desc; } public int getNum(){ return num; } }

 

語法糖之 註解
  • 註解(annotation)

    • 又稱為註記、標記、標註、註釋(不同於comments)
    • 是在各種語法要素上加上附加資訊,以供編譯器或其他程式使用
  • 所有的註解都是java.lang.annotation.Annotation的子類

常用的註解
  • 常用的註解,如:

    • @Override 表示覆蓋父類的方法
    • @Deprecated 表示過時的方法
    • @SuppressWarnings 表示讓編譯器不產生警告
  • 自定義註解,比較複雜,詳細資訊看教材

public @interface Author{
    String name();
}