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

歡迎訪問 生活随笔!

生活随笔

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

java

java参数注解pam_吃透Java基础十:注解

發布時間:2025/3/11 java 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java参数注解pam_吃透Java基础十:注解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是注解

官方定義:

注解是一系列元數據,它提供數據用來解釋程序代碼,但是注解并非是所解釋的代碼本身的一部分。注解對于代碼的運行效果沒有直接影響。

注解有許多用處,主要如下:

  • 提供信息給編譯器:編譯器可以利用注解來探測錯誤和警告信息。
  • 編譯階段時的處理:軟件工具可以用來利用注解信息來生成代碼、Html文檔或者做其它相應處理。
  • 運行時的處理:某些注解可以在程序運行的時候接受代碼的提取

值得注意的是,注解不是代碼本身的一部分。

我們通俗一點理解就是:注解就相當于超市里面商品的標簽,它不屬于商品,它只是為商品做一些解釋說明,而注解就是為我們的代碼作解釋說明,并不屬于我們代碼本身的部分。

二、注解的使用

JDK中提供的注解*

JDK里面提供的幾個注解

  • @Override: java.lang.Override 是一個標記類型注解,它被用作標注方法。它說明了被標注的方法重載了父類的方法,起到了斷言的作用。如果我們使用了這種注解在一個沒有覆蓋父類方法的方法時,java 編譯器將以一個編譯錯誤來警示。
  • @Deprecated:表示該方法已經過時了。(當方法或是類上面有@Deprecated注解時,說明該方法或是類都已經過期不能再用,但不影響以前項目使用,提醒你新替代待的方法或是類。如果程序員不小心使用了它的元素,那么編譯器會發出警告信息。)
  • @SuppressWarnings:表示忽略指定警告,比如@SuppressWarnings("Deprecation")
  • @SafeVarargs:參數安全類型注解。它的目的是提醒開發者不要用參數做一些不安全的操作,它的存在會阻止編譯器產生 unchecked 這樣的警告。它是在 Java 1.7 的版本中加入的。
  • @FunctionalInterface:函數式接口注解,這個是 Java 1.8 版本引入的新特性。

元注解

java.lang.annotation 提供了四種元注解,專門注解其他的注解(在自定義注解的時候,需要使用到元注解)。

  • @Retention:定義該注解的生命周期。

RetentionPolicy.SOURCE:注解只在源碼階段保留,在編譯器進行編譯時它將被丟棄忽視。

RetentionPolicy.CLASS:注解只被保留到編譯進行的時候,它并不會被加載到 JVM 中。

RetentionPolicy.RUNTIME:注解可以保留到程序運行的時候,它會被加載進入到 JVM 中,所以在程序運行時可以獲取到它們。

  • @Target:表示該注解用于什么地方。默認值為任何元素,表示該注解用于什么地方。可用的ElementType 參數包括:

ElementType.CONSTRUCTOR: 用于描述構造器。

ElementType.FIELD: 成員變量、對象、屬性(包括enum實例)。

ElementType.LOCAL_VARIABLE: 用于描述局部變量。

ElementType.METHOD: 用于描述方法。

ElementType.PACKAGE: 用于描述包。

ElementType.PARAMETER: 用于描述參數。

ElementType.TYPE: 用于描述類、接口(包括注解類型) 或enum聲明。

  • @Documented:一個簡單的Annotations 標記注解,表示是否將注解信息添加在java 文檔中。
  • @Inherited :表示當前注解可以由子注解來繼承。
  • @Repeatable:是可重復的意思,Java 1.8 才加進來的,指的是注解的值可以同時取多個。

自定義注解

  • Annotation型定義為@interface,所有的Annotation 會自動繼承java.lang.Annotation這一接口,并且不能再去繼承別的類或是接口。
  • 參數成員只能用public 或默認這兩個訪問權修飾,可以用default設置默認值。也可以不定義成員。
  • 參數成員只能用基本類型byte、short、char、int、long、float、double、boolean八種基本數據類型和String、Enum、Class、annotations等數據類型,以及這一些類型的數組。
  • 要獲取類方法和字段的注解信息,必須通過Java的反射技術來獲取 Annotation 對象,因為你除此之外沒有別的獲取注解對象的方法

注解經典運用

運行期利用反射可以獲取注解:詳情請移步[吃透Java基礎六:反射](https://blog.csdn.net/u013277209/article/details/102782208)

注解+反射 在數據庫框架方面的應用:

有一張用戶表,包含id name age gender 對每一個字段進行檢索并打印出Sql語句

1、自定義Table和Column注解

2、編寫User類

3、利用反射獲取注解信息,實現Sql語句查詢

運行輸出:

總結

以上是生活随笔為你收集整理的java参数注解pam_吃透Java基础十:注解的全部內容,希望文章能夠幫你解決所遇到的問題。

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