计算机二级辅导:java反射机制计算机等级考试
文章作者 100test 发表时间 2010:01:01 12:19:40
来源 100Test.Com百考试题网
JAVA反射机制是在运行状态中,对于任意一个类,都能够得到这个类的所有属性和方法.对于任意一个对象,都能够调用它的任意一个方法.这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制.
概括一下:
反射就是让你可以通过名称来得到对象(类,属性,方法)的技术。
例如我们可以通过类名来生成一个类的实例.
知道了方法名,就可以调用这个方法.知道了属性名就可以访问这个属性的值。
1、获取类对应的Class对象
运用(已知对象)getClass():Object类中的方法,每个类都拥有此方法。
如: String str = new String().
Class strClass = str.getClass().运用(已知子类的class) Class.getSuperclass():Class类中的方法,返回该Class的父类的Class.运用(已知类全名):Class.forName() 静态方法运用(已知类): 类名.class
2、通过类名来构造一个类的实例
a、调用无参的构造函数:
Class newoneClass = Class.forName(类全名). newoneClass.newInstance().
b、调用有参的构造函数:我们可以自定义一个函数。
public Object newInstance(String className, Object[] args) throws Exception {
//args为参数数组
Class newoneClass = Class.forName(className). //得到参数的Class数组(每个参数的class组成的数组),由此来决定调用那个构造函数Class[] argsClass = new Class[args.length]. for (int i = 0, j = args.length. i