Java反射就是在运行状态中,对于任意一个类,
1、都能够知道这个类的所有属性和方法;
2、都能够调用它的任意方法和属性;
3、并且能改变它的属性。
Class cla=Class.forName("com.TestOne");//进行com.TestOne类加载,返回一个Class对象
System.out.println("********");
one=(TestOne)cla.newInstance();
classTestOne{
static{
System.out.println("静态代码块运行");
}
TestOne(){
System.out.println("构造方法");
}
}
-
静态代码块运行
-
***********
-
构造方法
注意有参构造函数
需要:
//设置Class对象数组,用于指定构造方法类型
Class[]cl=newClass[]{int.class,int.class};
//获得Constructor构造器对象。并指定构造方法类型
Constructorcon=cla.getConstructor(cl);
//给传入参数赋初值
Object[]x={newInteger(33),newInteger(67)};
objectobj=con.newInstance(x);
1、获取方法
2、调取invok传入类对象和入参数据对象