【學習筆記】 唐大仕—Java程式設計 第5講 深入理解Java語言之5.7 其他幾個高階語法
阿新 • • 發佈:2018-11-11
/**
* 其他幾個高階語法 學習筆記
* @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 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();
}