一、Annotation簡介
- 從Java1.5開始,Java增加了元數(shù)據(jù)(MetaData)的支持,也就是Annotation(注釋);
- Annotation能被用來為程序元素(類、方法、成員變量等)設(shè)置元數(shù)據(jù);
- Annotation不能影響程序代碼的執(zhí)行,無論添加、刪除Annotation,代碼始終如一的執(zhí)行;
- 如果希望讓程序中的Annotataion能在 運行時其一定作用,只有通過某種配套的工具對Annotation中的信息進行訪問和處理,這些工具統(tǒng)稱APT(Annotion Processing Tool);
二、三個基本的Annotation如下:
@Override:限定重寫父類方法
- 用來指定方法覆蓋的,它可以強制一個子類必須要覆蓋父類的方法;
- 只能用作于方法,不能用于作用其他程序元素;
- 主要是幫助我們避免一些低級錯誤;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class Fruit { public void foo(){ System.out.println( "水果的info方法。。。" ); } } class Apple extends Fruit { //使用@Override指定下面方法必須重寫父類方法 @Override public void foo() { System.out.println( "蘋果重寫水果的info方法..." ); } } |
@Deprecated:標(biāo)記已過時
用于標(biāo)識某個程序元素(類、方法等)已過時,當(dāng)其他程序使用已過時的類、方法時,編譯器將會給出警告;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Apple1{ //定義info方法已經(jīng)過時 @Deprecated public void info(){ System.out.println( "Apple的info方法" ); } } public class DeprecatedTest { public static void main(String[] args) { //下面使用info方法時將會被編譯器警告 new Apple1().info(); } } |
@SuppressWarnings:抑制編譯器警告
- 指示被Annotation標(biāo)識的程序元素(以及在該程序元素中的所有字元素)取消顯示指定的編譯器警告;
- 一直作用于該程序元素的所有子元素;
1
2
3
4
5
6
7
8
9
|
//關(guān)閉整個類里的編譯器警告 @SuppressWarnings (value= "unchecked" ) public class SuppressWarningsTest { @SuppressWarnings ( "rawtypes" ) public static void main(String[] args) { List<String> myList = new ArrayList(); myList.add( "java" ); } } |
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/p106786860/article/details/20807173