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

java基础:反射机制

时间:2015-01-24 11:45:16      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:框架   class   反射reflect   

一:定义

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

二:使用场景
一般用在框架的封装上。hibernate、struts都是用反射机制实现的。 
 举例:JDBC中加载数据库驱动Class.forName("com.mysql.jdbc.Driver"); 

三:优点
反射机制的优点就是可以实现动态创建对象和编译,体现出很大的灵活性。
假如我们有两个程序员,一个程序员在写程序的时候,需要使用第二个程序员所写的类,但第二个程序员并没完成他所写的类。那么第一个程序员的代码能否通过编译呢?这是不能通过编译的。利用Java反射的机制,就可以让第一个程序员在没有得到第二个程序员所写的类的时候,来完成自身代码的编译。

四:常用方法
    获得构造函数的方法 
    Constructor getConstructor(Class[] params)//根据指定参数获得public构造器
    Constructor getDeclaredConstructor(Class[] params)//根据指定参数获得public和非public的构造器

    获得类方法的方法 
    Method getMethod(String name, Class[] params),根据方法名,参数类型获得方法
    Method getDeclaredMethod(String name, Class[] params)//根据方法名和参数类型,获得public和非public的方法

    获得类中属性的方法 
    Field getField(String name)//根据变量名得到相应的public变量
    Field getDeclaredField(String name)//根据方法名获得public和非public变量

五:代码举例





test1执行结果:
技术分享


test2执行结果
技术分享





java基础:反射机制

标签:框架   class   反射reflect   

原文地址:http://blog.csdn.net/u013628152/article/details/43083479

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