日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中为什么要用注解_java中的注解,真的很重要,你理解了嘛?

發布時間:2024/7/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中为什么要用注解_java中的注解,真的很重要,你理解了嘛? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章開始講解java中的注解,在平時的開發當中我相信你或多或少的接觸過注解。比如你可能都見過@override,它代表的就是一個注解。但是,為了更加清晰的去介紹注解,我還是先給出一個例子,讓你能夠方便的理解。

一、認識注解

在平時不知道我們是否都用過便利貼,在一張紙上寫好幾句話,貼在我們需要的地方。就是下面這個;

還有一個情況,大多數人都叫我們程序猿(錢多話少死得快),這也是給我們貼了一個標簽。像這兩種情況基本上就是注解。你可以把這兩種情況聯想到代碼的注解上。比如我們定義了一個方法,這個方法要實現加法的運算,那么我們就可以定義一個@ADD標簽。表示這個方法就是實現加法的。我們程序員一看到這個@ADD,就能很容易理解這個方法是干嘛的。簡單而言。注解就是對于代碼中某些鮮活個體的貼上去的一張標簽。簡化來講,注解如同一張標簽。

因為,如果你之前還未正式的學習過注解,你就可以把他當成便利貼標簽就好了,這能幫你理解注解的大部分內容。

不過正是開始之前,還是談一下學習注解的主要意義吧。

1、首先我們能夠讀懂別人寫的代碼,特別是框架相關的代碼。

2、本來可能需要很多配置文件,需要很多邏輯才能實現的內容,就可以使用一個或者多個注解來替代,這樣就使得編程更加簡潔,代碼更加清晰。

3、zhuangbility,也就是讓你在面試的時候拿來這個的。

OK,理解了注解的思想,我們就可以正式的學習一下注解了。

二、注解

我們介紹完注解之后在介紹元注解,在上面已經介紹過了,其實注解就是一張便利貼,我們可以隨便寫點東西,貼在我們想貼的地方。下面我們來正式的去介紹一下什么是注解以及如何定義注解。用法超級簡單。

聲明一個注解,其實和創建一個類差不多,只不過聲明一個類是用class,聲明一個接口是interface。聲明一個注解很簡單,使用@interface。下面我們舉個例子:

簡單吧,但是里面有一點需要和類、接口的聲明有點不同。注解是沒有方法的,只有成員變量。而且我們可以自己定義默認值。但是形式上和方法一樣.我們使用的時候,就像我們在開發Spring的時候一樣就好了。

三、元注解

元注解是指什么呢?從名字就可以看出來,元注解就是注解的根,也就是注解的注解。就好對比我們有一堆便利貼,這些便利貼干什么的都有,但是我們在定義一個特殊的便利貼,這個特殊的便利貼指的是這些普通的便利貼是干嘛的。是不是有點亂,沒關系我給你來一張小圖你就明白了

元注解就是注解的注解。明白了吧。對元注解的基本概念了解清楚之后,我們就可以正式的介紹元注解的語法了。

元注解有五種分別是: @Retention、@Documented、@Target、@Inherited、@Repeatable 。

下面我們一一的去介紹一下:

1、@Retention

當 @Retention 應用到一個注解上的時候,它解釋說明了這個注解的存活時間。 它的取值如下:

RetentionPolicy.SOURCE 注解只在源碼階段保留,在編譯器進行編譯時它將被丟棄忽視RetentionPolicy.CLASS 注解只被保留到編譯進行的時候,它并不會被加載到 JVM 中。RetentionPolicy.RUNTIME 注解可以保留到程序運行的時候,它會被加載進入到 JVM 中,所以在程序運行時可以獲取到它們。在代碼中我們如何去使用呢?

2、@Documented

它的作用是能夠將注解中的元素包含到 Javadoc 中去。

3、@Target

,@Target 指定了注解運用的地方。 你可以這樣理解,當一個注解被 @Target 注解時,這個注解就被限定了運用的場景。 類比到標簽,原本標簽是你想張貼到哪個地方就到哪個地方,但是因為 @Target 的存在,它張貼的地方就非常具體了,比如只能張貼到方法上、類上、方法參數上等等。@Target 有下面的取值

ElementType.ANNOTATION_TYPE 可以給一個注解進行注解ElementType.CONSTRUCTOR 可以給構造方法進行注解ElementType.FIELD 可以給屬性進行注解ElementType.LOCAL_VARIABLE 可以給局部變量進行注解ElementType.METHOD 可以給方法進行注解ElementType.PACKAGE 可以給一個包進行注解ElementType.PARAMETER 可以給一個方法內的參數進行注解ElementType.TYPE 可以給一個類型進行注解,比如類、接口、枚舉4、@Inherited

Inherited 是繼承的意思,子類繼承了超類的注解。意思很容易理解。

下面代碼來演示一下他的作用

注解 Test 被 @Inherited 修飾,類 B 繼承 A,類 B 也擁有 Test 這個注解。

5、@Repeatable

@Repeatable是java1.8加進來的,表示的是可重復,就好比一個人有好幾個身份。

下面舉個例子來驗證

四、預置注解

java預置的注解其實還是比較多的,但是我們只要調出幾個比較重要的就好了。

@Deprecated

這個注解是用來標記過時的元素,編譯器在編譯階段遇到這個注解時會發出提醒警告,告訴開發者正在調用一個過時的元素比如過時的方法、過時的類、過時的成員變量。

比如:

這時sayHello()方法上面被一條直線劃了一條,這其實就是編譯器識別后的提醒效果:

@Override

這個注解再熟悉不過了,提示該方法是接口方法的實現或者是子類重寫的父類的方法。

@SuppressWarnings

阻止警告的意思,上面說過調用被@Deprecated注解的方法后,編譯器會警告提醒,而有時候開發者會忽略這種警告,他們可以在調用的地方通過@SuppressWarnings達到目的。

如:

這個時候sayHello()就不會被編譯器處以下劃線的警告了。

@SafeVarargs

參數安全類型注解。它的目的是提醒開發者不要用參數做一些不安全的操作,它的存在會阻止編譯器產生unchecked這樣的警告,它是在Java 1.7的版本中加入的。

如:

上面的代碼中,編譯階段不會報錯,但是運行時會拋出ClassCastException這個異常,所以它雖然告訴開發者要妥善處理,但是開發者自己還是搞砸了。

當然還有很多框架注解,這些注解在我的框架系列的文章會有專門的講解,還請大家支持關注我的微眾,由于系統原因,這里寫兩句話再給出名字,java的架構師技術棧。謝謝支持

五、獲取注解

也就是我們通過反射獲取類 、函數或成員上的運行時注解信息,從而實現動態控制程序運行的邏輯。舉個例子,看看我們如何通過反射來控制程序運行的邏輯。

不過為了防止你沒有反射的基礎,我們還是先簡單的介紹一下反射的原理。

反射可以讓我們在運行時獲取類的屬性,方法,構造方法、父類、接口等信息,通過反射還可以讓我們在運行期實例化對象、調用方法、即使方法或屬性是私有的的也可以通過反射的形式調用。

下面我們使用代碼來演示:

第一步:定義注解

第一個是類的注解

第二個事類中成員變量的注解

第二步:聲明一個用戶類

第三步:使用反射獲取注解

六、注解的使用

我在網上很多篇博客上看到過很多例子,覺得作者給出的例子很容易把一個初學者帶跑偏了,從思想上限制了注解的使用場景。所以為了不帶跑大家,我先給出一個他的好處,你記住這些注解的優點,有需要的時候使用就好了

提供信息給編譯器: 編譯器可以利用注解來探測錯誤和警告信息編譯階段時的處理: 軟件工具可以用來利用注解信息來生成代碼、Html文檔或者做其它相應處理。運行時的處理: 某些注解可以在程序運行的時候接受代碼的提取總結一下,注解就是一個標簽,你也可以當成一個便利貼,在哪使用就看你是否需要這個便利貼了。

謝謝關注支持,如有不對的地方,還請批評指正。

總結

以上是生活随笔為你收集整理的java中为什么要用注解_java中的注解,真的很重要,你理解了嘛?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩123区 | 午夜精品亚洲 | 国产激情四射 | 久久午夜场 | 三级做爰第一次 | 四虎在线影院 | 91丨九色丨海角社区 | 大粗鳮巴久久久久久久久 | 久久男人av | 国产精品免费一区二区三区都可以 | 国产精品VideoSex性欧美 | 久久精品99国产国产精 | 阿v视频免费在线观看 | 国产美女www爽爽爽视频 | 99免费在线观看 | 青草伊人网 | 精品少妇人妻一区二区黑料社区 | 亚洲精品97久久中文字幕无码 | 麻豆专区| 国产激情文学 | 天天射天天操天天干 | 看毛片的网址 | 操丰满女人 | 天天干天天爱天天操 | 黄色免费视频观看 | 伊人春色在线视频 | 狠狠干狠狠操视频 | 在线电影一区二区 | 欧美粉嫩videosex极品 | 欧美性猛交xxxx黑人交 | 欧美三级精品 | 中文字幕亚洲国产 | 香蕉网站在线观看 | 激情爱爱网站 | 色八区 | 亚洲综合图色40p | 国产黄色影院 | 99在线看| 美女扒开腿让男生桶 | 久久婷婷国产麻豆91天堂 | 美女十八毛片 | 黄色片网站免费 | 成人av一区二区三区 | 伊人99 | 欧美全黄| 国产精品资源 | 免费黄色av网址 | 淫片网站| 精品日日夜夜 | 欧美视频观看 | 三级欧美韩日大片在线看 | 久久久久久久久久网 | 伊人久久91| 蜜桃臀aⅴ精品一区二区三区 | 中文字幕无码av波多野吉衣 | 日本三级中国三级99人妇网站 | 青青久久国产 | 男生操女生动漫 | а√天堂资源官网在线资源 | 精品少妇人妻av一区二区三区 | 久色电影 | 成年人看的网站 | 欧美激情视频二区 | 亚洲精品电影院 | 中国毛片在线观看 | 欧美一级夜夜爽 | 天天想你在线观看完整版电影高清 | 亚洲91在线| 精品婷婷色一区二区三区蜜桃 | 人与动物毛片 | 男女日屁视频 | 日韩全黄 | 麻豆网站免费看 | 免费在线播放 | 日韩插插| 欧美91av | 神马午夜激情 | 91精选| 草草色 | 国产伦精品一区二区三区88av | 69av视频 | 天天干狠狠爱 | 性xxxx视频| 国产精品永久在线观看 | 日韩av在线播放网址 | 国产精品久久久久久久久久东京 | 日本天天操 | 91字幕网 | 午夜影院私人 | 国产,日韩,欧美 | 亚洲欧美日韩中文字幕在线观看 | 国产伦精品一区二区三 | 欧美亚一区二区三区 | 少妇无码av无码专区在线观看 | 色呦呦免费 | 视频福利一区 | 成熟妇人a片免费看网站 | 亚洲AV蜜桃永久无码精品性色 | 性猛交xxxx乱大交孕妇印度 |