欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java通過反射訪問注解信息的方法示例

 更新時間:2019年08月02日 09:00:33   作者:cakincqm  
這篇文章主要介紹了Java通過反射訪問注解信息的方法,結(jié)合實例形式分析了java基于反射訪問類成員方法注解信息的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Java通過反射訪問注解信息的方法。分享給大家供大家參考,具體如下:

一 點睛

利用Java的反射機制,可以訪問注解信息。比如在調(diào)用某個方法時,需要知道該方法的一些基本信息,而這些信息又需要動態(tài)獲取時,利用發(fā)射獲取注解信息是一個比較理想的處理方式。

二 實戰(zhàn)——訪問類的某個成員方法的注解信息

1 代碼

import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface testAnnoation8 {
  public String name() default "methodname";
  public String unit() default "unit";
}
public class ch11_8 {
  public String aString;
  public static void main( String[] args ) {
    try {
      ch11_8 ch8 = new ch11_8();
      Method method = ch8.getClass().getMethod("getData1");
      Annotation ans[] = method.getAnnotations();
      for (Annotation annotation : ans) {
        System.out.println(annotation);
      }
      Annotation annotation = method.getAnnotation(testAnnoation8.class);
      System.out.println(annotation);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  @Deprecated
  @testAnnoation8(name = "SOC", unit = "%")
  public void getData1() {
  }
}

2 運行

@java.lang.Deprecated()
@testAnnoation8(name=SOC, unit=%)
@testAnnoation8(name=SOC, unit=%)

三 實戰(zhàn)——訪問類的某個成員方法的注解信息

1 代碼

import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface testAnnoation9{
   public String name() default "methodname";
   public String unit() default "unit";
}
public class ch11_9 {
  public String aString;
  public static void main(String[] args) {
   try {
     ch11_9 ch9=new ch11_9();
     Method method=ch9.getClass().getMethod("getData1");
     Annotation annotation=method.getAnnotation(testAnnoation9.class);
     testAnnoation9 t9=(testAnnoation9)annotation;
     System.out.println("name value is "+t9.name()+"; unit is "+t9.unit());
   } catch (Exception e) {
     e.printStackTrace();
   }
  }
  @Deprecated
  @testAnnoation9(name = "SOC", unit = "%")
  public void getData1(){
  }
}

2 運行

name value is SOC; unit is %

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • 一文搞懂java中的棧和括號匹配

    一文搞懂java中的棧和括號匹配

    棧在我們?nèi)粘>幋a中遇到的非常多,很多人對棧的接觸可能僅僅局限在?遞歸使用的棧?和?StackOverflowException,棧是一種后進先出的數(shù)據(jù)結(jié)構(gòu)(可以想象生化金字塔的牢房和生化角斗場的狗洞)
    2023-11-11
  • Spring Boot異步輸出Logback日志方法詳解

    Spring Boot異步輸出Logback日志方法詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot異步輸出Logback日志的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • JAVA如何解決并發(fā)問題

    JAVA如何解決并發(fā)問題

    這篇文章主要介紹了JAVA如何解決并發(fā)問題的處理方法,文中講解的非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • java DecimalFormat常用方法詳解

    java DecimalFormat常用方法詳解

    這篇文章主要為大家詳細(xì)介紹了java DecimalFormat的常用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 利用Java編寫一個屬于自己的日歷

    利用Java編寫一個屬于自己的日歷

    這篇文章主要為大家介紹了如何利用Java編寫一個屬于自己的日歷,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起嘗試一下
    2022-05-05
  • 解析Java的JNI編程中的對象引用與內(nèi)存泄漏問題

    解析Java的JNI編程中的對象引用與內(nèi)存泄漏問題

    這篇文章主要介紹了Java的JNI編程中的對象引用與內(nèi)存泄漏問題,重點講述了局部和全局引用時一些值得注意的地方,需要的朋友可以參考下
    2015-11-11
  • Java 位運算符>>與>>>區(qū)別案例詳解

    Java 位運算符>>與>>>區(qū)別案例詳解

    這篇文章主要介紹了Java 位運算符>>與>>>區(qū)別案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java開發(fā)實現(xiàn)五子棋游戲

    java開發(fā)實現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了java開發(fā)實現(xiàn)五子棋游戲,具有雙人對戰(zhàn)和人機對戰(zhàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • java中Memcached的使用實例(包括與Spring整合)

    java中Memcached的使用實例(包括與Spring整合)

    這篇文章主要介紹了java中Memcached的使用實例(包括與Spring整合),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • springMVC如何防止表單重復(fù)提交詳解

    springMVC如何防止表單重復(fù)提交詳解

    平時開發(fā)的項目中經(jīng)常會遇到表單重復(fù)提交,造成數(shù)據(jù)重復(fù),增加服務(wù)器負(fù)載,嚴(yán)重甚至?xí)斐煞?wù)器宕機,因此有效防止表單重復(fù)提交有一定的必要性,這篇文章主要給大家介紹了關(guān)于springMVC如何防止表單重復(fù)提交的相關(guān)資料,需要的朋友可以參考下
    2021-11-11

最新評論