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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 注释 过时_Java 注解

發布時間:2024/9/27 java 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 注释 过时_Java 注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

為什么需要學習注解?

1.能夠靈活地使用框架提供的注解,最后能夠讀懂框架的源碼

2.能夠配合反射將代碼書寫更加的靈活,更加易于維護易于擴展,Properties配置,XML配置,注解配置[Java配置]

3.極大程度地簡化了代碼,提高了代碼的可讀性

注解的概述

Java提供了一種源程序中元素和任何信息或者元數據相關聯的一種方法或者渠道

源程序中元素: Java文件 構造方法、成員變量、成員方法...

信息: 就是一些配置數據 【也可以理解為是注釋】

元數據: 就是元注解,對注解進行注解,后面學習

關聯: 元素和注釋綁定成為注解

簡單來說: 就是相當于一些類似于注釋的信息 和 源程序中的元素 綁定的一種技術,這種技術叫做注解

這種手段可以通過反射獲取到元素對象,在獲取到這個元素上面綁定的注解,通過綁定的注解獲取里面配置信息,

從而達到能夠在程序運行階段通過這些信息動態地改變程序的運行邏輯

常見注解

JDK中常見的注解

@Override: 表示注解修飾的方法必須滿足重寫的規則

@Deprecated: 表示成員過時,編譯器可以在程序運行的時候獲取到該注解

@SupressWarnings: 表示忽略編譯器的警告

@FunctionalInterface: 表示該接口是一個函數式接口,并且可以作為Lambda表達式參數傳入

注解分類

注解的分類

按照運行的機制分類:

源碼注解: 注解只在源碼中有效,當編譯生成字節碼文件的時候,注解就不存在了,其實就是注釋 APT

編譯時注解: 注解在源碼和編譯時期有效,在jvm運行的時候就不存在了

運行時注解: 注解在源碼和編譯有效,同時在程序的執行過程也存在 (反射獲取運行時注解,從而獲取到注解的配置信息動態改變程序的邏輯)

元注解: 對注解進行注解的注解

按照來源分類:

JDK中自帶的注解: @Override,@Deprecated

第三方注解: @Table,@Column,@Component,@Service,@Bean

自定義注解: 自己定義注解自己使用在自己的代碼中

元注解: 對注解進行注解的注解

自定義注解并且使用

四種使用注解的方式:

格式一: @注解的名稱(屬性名1=屬性值1,屬性名2=屬性值2,屬性名3=屬性值3,...屬性名n=屬性值n)

注意: 如果有兩個以上的屬性,有多少個屬性就必須給多少個屬性賦值

格式二: 適用于注解只有一個成員

@注解的名稱(屬性值)

格式三: 適用于成員是數組的情況

@注解的名稱({屬性值1,屬性值2,屬性值3,...屬性值n})

格式四: 使用標記注解

@注解的名稱

使用反射來注解

使用反射解析注解:

1.使用反射解析類或者接口或者枚舉上面的注解,必須先要獲取到字節碼文件對象

2.解析除了類上的注解外,必須先獲取到元素對象

3.獲取注解之前一定要做存在性判斷

為什么? 因為如果是源碼或者編譯時注解,那么反射是在運行時獲取,注解在運行時已經不存在就獲取不到

通過反射獲取注解元素的相關方法:

A getAnnotation(Class annotationClass)

Annotation[] getAnnotations()

Annotation[] getDeclaredAnnotations()

boolean isAnnotationPresent(Class extends Annotation> annotationClass)

總結

以上是生活随笔為你收集整理的java 注释 过时_Java 注解的全部內容,希望文章能夠幫你解決所遇到的問題。

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