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

黑马程序员-Java基础之反射

时间:2015-12-24 02:06:09      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

                                反射

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


  Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成
员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。




  反射说白了就是可以获得一个类的所有信息,主要包括方法和属性两部分。
1.获得方法包括获得方法的名称,方法的返回类型,方法的访问修饰符,以及通过反射执行这个方法。
2.获得属性包括属性的名称,类型,访问修饰符,以及这个属性的值。
这些获得都有相应的API提供操作。


举个例子:
先定义一个类,有age这个属性,以及age的get和set方法:


public class TestRflectionFather {
public int age =32;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}  


然后操作获得所有方法:


import java.lang.reflect.Method;
public class Testmain {
public static void main(String[] args) throws Exception {
Class clazz = Class.forName("TestRflectionFather");

Method[] methods =clazz.getDeclaredMethods();
for(Method me:methods)
{
System.out.println(me.getName());

}
}


}


//最后输出 
getAge
setAge


  总之,用反射首先得到对应的类的Class。然后通过Class获得方法和属性等。

黑马程序员-Java基础之反射

标签:

原文地址:http://www.cnblogs.com/dan-ran/p/5071754.html

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