自定義Annotation
本文中提供一個自定義註解的例子,只寫了一個用於修飾(類,介面,列舉)的註解,大家可以舉一反三。直接看例子,共有3個類。
Info.java
註解類
/**
* info註解,用於顯示描述資訊
*/
//RetentionPolicy.RUNTIME - 會保留在class檔案和vm中
@Retention(RetentionPolicy.RUNTIME)
// ElementType.TYPE - 類,介面,列舉的宣告
@Target(ElementType.TYPE)
public @interface Info {
String info();
}
Phone.java
使用註解的類,用於演示
/**
* 手機類,用於演示註解使用方法
*/
@Info(info = "我是iPhone7")
public class Phone {
}
Main.java
用於解析註解和執行
package com.rockyguo;
/**
* 解析註解,並顯示
*/
public class Main {
public static void main(String[] args) {
try {
Class phoneClass = Class.forName("com.rockyguo.Phone");
if(phoneClass.isAnnotationPresent(Info.class)){
Info info = (Info)phoneClass.getAnnotation(Info.class);
System.out.println(info.info());
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
DEMO
相關文章
- Java自定義Annotation,通過反射解析AnnotationJava反射
- Spring 定時器的使用—Xml、Annotation、自定義Spring定時器XML
- Spring 定時器的使用---Xml、Annotation、自定義Spring定時器XML
- 【天星技術團隊】從自定義Annotation、APT、JavaPoet再到Butterknife原理APTJava
- springboot+redis+Interceptor+自定義annotation實現介面自動冪等Spring BootRedis
- 自定義View:自定義屬性(自定義按鈕實現)View
- 08.Django自定義模板,自定義標籤和自定義過濾器Django過濾器
- 自定義ImageView完成圓形頭像自定義View
- 自定義VIEWView
- 自定義圓環
- 自定義SnackBar
- 自定義useState
- 自定義_ajax
- 自定義OrderedMap
- 自定義 Drawable
- 自定義UICollectionViewLayoutUIView
- 自定義UITabBarUItabBar
- 自定義scrollbar
- 自定義Drawable
- 自定義ToastAST
- 自定義吐司
- android自定義view(自定義數字鍵盤)AndroidView
- vue自定義全域性元件(或自定義外掛)Vue元件
- android自定義View&自定義ViewGroup(下)AndroidView
- android自定義View&自定義ViewGroup(上)AndroidView
- Android自定義控制元件——自定義屬性Android控制元件
- netty自定義Decoder用於自定義協議Netty協議
- 4. 自定義控制元件(4) --- 自定義屬性控制元件
- android自定義鍵盤 自定義身份證鍵盤Android
- Android自定義控制元件之自定義屬性Android控制元件
- GridView 自定義模版自定義修改,刪除,分頁View
- java annotationJava
- 自定義 Artisan 命令
- 自定義ClassLoader
- 自定義QTimeEditQT
- JavaScript自定義事件JavaScript事件
- 自定義註解
- Maven 自定義archeTypeMaven