码迷,mamicode.com
首页 > 编程语言 > 详细

java反射的理解

时间:2017-06-06 18:39:16      阅读:147      评论:0      收藏:0      [点我收藏+]

标签: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反射

原文地址:http://1459294.blog.51cto.com/1449294/1932858

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!