读书人

java 引语 学习

发布时间: 2013-08-14 14:27:55 作者: rapoo

java 注解 学习
package com.liu.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;//用于域的声明@Target(ElementType.FIELD)// VM在运行期间也会保存annotation的信息,所以可以使用反射机制来读取之@Retention(RetentionPolicy.RUNTIME)public @interface Hello {public String echo() default ("Hello,I am a field!");}

package com.liu.annotation;public class Book {@Hello(echo = "Hello,I am the name of the book!")public String name;}
package com.liu.annotation;import java.lang.reflect.Field;public class BookFileldTracker {public static void trackBook(Class<?> cl) {for (Field f : cl.getDeclaredFields()) {Hello h = f.getAnnotation(Hello.class);if (h != null) {System.out.println(h.echo());}}}public static void main(String[] args) {trackBook(Book.class);}}
?