您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java注解入門案例代碼分析”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java注解入門案例代碼分析”文章能幫助大家解決問題。
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface MyLoveForYou { String love(); }
public class Love { @MyLoveForYou(love="吾愛亦吾心") private String love; public String getLove() { return love; } public void setLove(String love) { this.love = love; } //重寫 toString() 方法。 @Override public String toString() { return "Love [love=" + love + "]"; } }
import java.lang.reflect.Field; public class ProcessAnnotation { private static Love love; //創建 love 實例 public static Love getLove(){ Class<?> clazz = Love.class; try { Field field = clazz.getDeclaredField("love"); field.setAccessible(true); MyLoveForYou myLoveForYou = field.getAnnotation(MyLoveForYou.class); String fieldLove = myLoveForYou.love(); try { love = (Love)clazz.newInstance(); } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace(); } love.setLove(fieldLove); } catch (NoSuchFieldException | SecurityException e) { e.printStackTrace(); } return love; } }
import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; public class Test { public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, SecurityException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { //異常有點多,但是不用擔心,其實只有三行代碼。 Love love = ProcessAnnotation.getLove(); System.out.println(love.getLove()); System.out.println(love.toString()); } }
簡單說明以下
這里就使用了一個非常簡單的注解類,使用了兩個最基礎的元注解(元注解的意思就是: 修飾的是類的屬性 保留到運行期)。
然后就可以使用注解了,簡單的使用其實很簡單,就像下面這樣就像了。
@MyLoveForYou(love="吾愛亦吾心")
這里強調以下,單純的使用注解是沒有任何用的,注解需要借助專門的工具處理,這里定義一個簡單的處理注解的類(這個類可能需要一點反射的知識,但是也不要緊,如果你只想知道注解的作用,也可以不用管它,記住用法就行了):ProcessAnnotation
用法:這個類就是干一件事,給 love 賦值為 吾愛亦吾心。
最后就是測試了,這里重寫了toString() 方法,看起來更加直觀一點。
關于“Java注解入門案例代碼分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。