直接看代码:
package cn.thcic;
/**
* java反射
*
* by Zhiwang Zhang on 2014年7月21日
*/
public class Test105 {
private int age;
public static void main(String[] args) {
// 在没有对类进行实例化的时候,获取类型信息
// 方法1:
Class classInfomation = Test105.class;
// 方法2:
try {
Class classInfo = Class.forName("cn.thcic.Test105");// 注:forName方法的参数一定是完整类名(包名+类名)
} catch (Exception e) {
e.printStackTrace();
}
// 利用反射创建实例
try {
Object object = classInfomation.newInstance();// 注:Class类的newInstance方法调用的是某类的默认(无参)构造方法,
// 并且不能接受参数(Constructor类也有newInstance方法,和这里的不一样)
// Object obj=new Test105();//与上面那行代码等价
} catch (Exception e) {
e.printStackTrace();
}
}
public Test105(int age) {
this.age = age;
System.out.println("有参构造方法");
}
public Test105() {
System.out.println("无参构造方法");
}
}