Java Annotation詳解及實(shí)例代碼
一、Annotation簡(jiǎn)介
- 從Java1.5開始,Java增加了元數(shù)據(jù)(MetaData)的支持,也就是Annotation(注釋);
- Annotation能被用來為程序元素(類、方法、成員變量等)設(shè)置元數(shù)據(jù);
- Annotation不能影響程序代碼的執(zhí)行,無論添加、刪除Annotation,代碼始終如一的執(zhí)行;
- 如果希望讓程序中的Annotataion能在 運(yùn)行時(shí)其一定作用,只有通過某種配套的工具對(duì)Annotation中的信息進(jìn)行訪問和處理,這些工具統(tǒng)稱APT(Annotion Processing Tool);
二、三個(gè)基本的Annotation如下:
@Override:限定重寫父類方法
- 用來指定方法覆蓋的,它可以強(qiáng)制一個(gè)子類必須要覆蓋父類的方法;
- 只能用作于方法,不能用于作用其他程序元素;
- 主要是幫助我們避免一些低級(jí)錯(cuò)誤;
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)記已過時(shí)
用于標(biāo)識(shí)某個(gè)程序元素(類、方法等)已過時(shí),當(dāng)其他程序使用已過時(shí)的類、方法時(shí),編譯器將會(huì)給出警告;
class Apple1{ //定義info方法已經(jīng)過時(shí) @Deprecated public void info(){ System.out.println("Apple的info方法"); } } public class DeprecatedTest { public static void main(String[] args) { //下面使用info方法時(shí)將會(huì)被編譯器警告 new Apple1().info(); } }
@SuppressWarnings:抑制編譯器警告
- 指示被Annotation標(biāo)識(shí)的程序元素(以及在該程序元素中的所有字元素)取消顯示指定的編譯器警告;
- 一直作用于該程序元素的所有子元素;
//關(guān)閉整個(gè)類里的編譯器警告 @SuppressWarnings(value="unchecked") public class SuppressWarningsTest { @SuppressWarnings("rawtypes") public static void main(String[] args) { List<String> myList = new ArrayList(); myList.add("java"); } }
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringCloud FeignClient 超時(shí)設(shè)置
FeignClient?默認(rèn)的超時(shí)時(shí)間可能不滿足你的需求,你可以通過幾種方式來自定義這些超時(shí)設(shè)置,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08SpringValidation自定義注解及分組校驗(yàn)功能詳解
這篇文章主要介紹了SpringValidation自定義注解及分組校驗(yàn)功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01Java動(dòng)態(tài)規(guī)劃方式解決不同的二叉搜索樹
二叉搜索樹作為一個(gè)經(jīng)典的數(shù)據(jù)結(jié)構(gòu),具有鏈表的快速插入與刪除的特點(diǎn),同時(shí)查詢效率也很優(yōu)秀,所以應(yīng)用十分廣泛。本文將詳細(xì)講講二叉搜索樹的原理與實(shí)現(xiàn),需要的可以參考一下2022-10-10Spring MVC返回的json去除根節(jié)點(diǎn)名稱的方法
這篇文章主要介紹了Spring MVC返回的json去除根節(jié)點(diǎn)名稱的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09PowerJob的TransportServiceAware工作流程源碼解讀
這篇文章主要介紹了PowerJob的TransportServiceAware工作流程源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01SpringBoot啟動(dòng)流程SpringApplication準(zhǔn)備階段源碼分析
這篇文章主要為大家介紹了SpringBoot啟動(dòng)流程SpringApplication準(zhǔn)備階段源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04javaWeb使用驗(yàn)證碼實(shí)現(xiàn)簡(jiǎn)單登錄
這篇文章主要為大家詳細(xì)介紹了javaWeb使用驗(yàn)證碼實(shí)現(xiàn)簡(jiǎn)單登錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08Java異步編程之Callbacks與Futures模型詳解
這篇文章主要為大家詳細(xì)介紹了Java異步編程中Callbacks與Futures模型的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03百度翻譯API使用詳細(xì)教程(前端vue+后端springboot)
這篇文章主要給大家介紹了關(guān)于百度翻譯API使用的相關(guān)資料,百度翻譯API是百度面向開發(fā)者推出的免費(fèi)翻譯服務(wù)開放接口,任何第三方應(yīng)用或網(wǎng)站都可以通過使用百度翻譯API為用戶提供實(shí)時(shí)優(yōu)質(zhì)的多語(yǔ)言翻譯服務(wù),需要的朋友可以參考下2024-02-02