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反射的理解的主要内容,如果未能解决你的问题,请参考以下文章

深入理解java的反射机制

理解Java反射机制

java的反射机制,理解一下

深入理解 Java 中的反射机制

反射机制

Java反射的一点简单理解