本文中提供一个自定义注解的例子,只写了一个用于修饰(类,接口,枚举)的注解,大家可以举一反三。直接看例子,共有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
下载地址:http://download.csdn.net/detail/yirentianran/9654020