浅谈Java的反射机制
来源:互联网 发布:启凡网络 编辑:程序博客网 时间:2024/05/07 13:30
浅谈Java的反射机制
通过类的.class文件生成该类对象
如下:
UserManager u = (UserManager)ClassUtil.initClass(UserManager.class);
实现:
public class ClassUtil {public static Object initClass(Class<? extends Object> c) throwsInstantiationException, IllegalAccessException { returnc.newInstance(); }}
自定义注解利用反射找到被注解标记的属性
1定义一个UserId的注解:
@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface UserId { }
2在我们的类中标识要找的属性:
public class Info { @UserId publicint id;}
3利用反射找到该类被自定义注解标识的属性
public static int getUseId(Object obj){ Field[]fields=obj.getClass().getFields(); for(Fieldf:fields) { if(f.getAnnotation(UserId.class)!=null){ f.setAccessible(true); try{ id=f.getInt(obj); }catch (IllegalAccessException e) { e.printStackTrace(); }catch (IllegalArgumentException e) { e.printStackTrace(); } } } returnid;}
4使用方式
Info info=new Info();info.id=10010;int id=ClassUtil.getUseId(info);
返回的id就是info中被我们注解的属性值。
1 0
- java的反射机制浅谈
- java的反射机制浅谈
- 浅谈Java的反射机制
- java的反射机制浅谈
- java的反射机制浅谈
- java的反射机制浅谈
- java的反射机制浅谈
- java的反射机制浅谈
- java的反射机制浅谈
- java的反射机制浅谈
- 浅谈Java的反射机制
- Java的反射机制浅谈
- JAVA的反射机制浅谈
- 浅谈Java的反射机制
- java的反射机制浅谈
- java的反射机制浅谈
- java的反射机制浅谈
- 浅谈JAVA反射机制
- mapreduce原理分析
- Mac OS 搭建 Jenkins 实践(Tomcat + jenkins.war)
- HM编码器代码阅读(7)——整个编码流程以及相关的函数
- 对一致性Hash算法,java代码实现的深入研究
- leetcode——5——Longest Palindromic Substring
- 浅谈Java的反射机制
- Android 滑动(一)窗口坐标系和触摸控件——MotionEvent
- java多线程的三种实现方式
- JAVA运行脚本语言(Scripting)
- 获取被启动的Activity传回的参数:
- 【SSM-MyBatis框架】Spring整合Mybatis
- char *p[]={"Shanghai","Beijing","Honkong"};则结果为j字符的表达式是
- Java集合的总结
- MySQL关于Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp