java注解annotation,自定义注解--shanchu
2015-08-06 15:55
567 查看
定义:
测试:
package com.dxz.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; //定义注解 @Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.LOCAL_VARIABLE }) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { // 定义两个成员变量 String name() default "jack"; int age() default 22; }
测试:
package com.dxz.annotation; import java.lang.annotation.Annotation; /* * 获得注解信息要注意,当前注解一定要保留在RUNTIME * * 获得注解信息方法: * 1.getAnnotations() * 调用注解成员变量 * 1.假设注解对象ann,调用成员变量方式:ann.name(); * 2.与调用类方法类似 */ public class TestAnnotationInfo { public static void main(String[] args) { TestAnnotationInfo tai = new TestAnnotationInfo(); try { tai.getInfo(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } } @MyAnnotation(name = "zhangxun", age = 20) public void getInfo() throws NoSuchMethodException, SecurityException { // 获取TestAnnotationInfo对象的getInfo()方法中包含的所有注解 @MyAnnotation Annotation[] annos = TestAnnotationInfo.class.getMethod("getInfo") .getAnnotations(); // 遍历annos数组 for (Annotation ann : annos) { // ann就是一个Annotation 对象 // 判断当前ann是否是MyAnnotation注解类型 if (ann instanceof MyAnnotation) { System.out.println(ann); System.out.println(((MyAnnotation) ann).name()); System.out.println(((MyAnnotation) ann).age()); } } } }
相关文章推荐
- 获取servlet相关的域对象
- java中重载与重写的区别
- Java疑问:-------在Socket中用PrintWriter 写入的数据为什么用DataInputStream不能读取?
- java代码优化
- #笔记#圣思园 JavaWeb 第59讲——使用Firebug调试JS、JSUnit,XUnit
- Java Sleep() 与 Wait()的机制原理与区别
- 【@Transactional】Spring 之注解事务 @Transactional
- 线程安全与并发安全探究(四)-java集合框架
- java代码--汉诺塔
- java Method用法
- spring和java国际化资源文件加载顺序
- WSAD 如何修改JDK以使用jdk1.4
- [转]在Eclipse中使用JUnit4进行单元测试(中级篇)
- JNI的替代者—使用JNA访问Java外部功能接口
- java之类变量、成员变量、局部变量
- Java框架数据库连接池
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- Java异常的分类
- Java SE 6 新特性: Java DB 和 JDBC 4.0
- java.security.InvalidKeyException: Illegal key size