java反射的理解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java反射的理解相关的知识,希望对你有一定的参考价值。
参考网址:http://www.cnblogs.com/forlina/archive/2011/06/21/2085849.html
JAVA中反射是什么:
java通常是先有类再有对象,有对象我就可以调用方法或者属性。反射其实是通过Class对象来调用类里面的方法,通过反射可以调用私有方法和私有属性。
反射的核心:java.lang.Class,以及java.lang.reflect中的Method、Field、Constructor(类中的方法,成员变量,构造方法)
反射应用:大部分框架都是运用反射原理,eclipse对你引用的包中的类能提示关键字和函数;hibernate可以映射字段到数据库;一些xml/json序列化库可以创建和自动保存恢复数据;spring可以动态创建类;需要在类外部调用私有函数;判断一个Object类型具体是什么类型,是否拥有某个接口……这些都得用反射。
java使用反射经常看到的代码
//获取类上下文环境
User user=new User();
Class c = user.getClass();
Class c = Class.forName("包名+类名");//jdbc
//获取方法和成员变量数组
Field[] fa = c.getDeclaredFields();
Method[] md = c.getDeclaredMethod();
//获取某个特定的方法
//通过:方法名+形参列表
Method m = c.getDeclaredMethod("login",String.class,String.class);
//通过反射机制执行login方法.
Object o = c.newInstance();
对象o相当于类new()方法生成的对象,可以调用类的属性和方法
想做例子请参看上面网址
本文出自 “自我复习” 博客,请务必保留此出处http://1459294.blog.51cto.com/1449294/1932858
以上是关于java反射的理解的主要内容,如果未能解决你的问题,请参考以下文章