Java反射机制,指的是:
是对于运行中的任何一个类,能知道它所有的属性和方法;
对于任何一个对象,都能调用它的方法和属性;
要剖析一个类,必须要获得该类的字节码对象,剖析需要使用的是Class类中的方法;所以要获得的是每个字节码文件对应的Class类型的对象。
反射的步骤:
1.获取对应的class对象
方式1:★
Class clazz=Class.forName("全限定名");
方式2:
Class clazz=类名.class;
方式3:
Class clazz==对象.getClass();
2.通过class对象创建一个实例对象(相当于 new 类())
Object object = clazz.newInstance();
3.通过class对象获取一个方法(public修饰的)
Method method=clazz.getMethod("方法名",Class .... paramType);
paramType为参数的类型
4.让方法执行:
method.invoke(Object 实例对象,Object ... 参数);
Object 实例对象:以前调用方法的对象 就是a
Object ... 参数:该方法运行时需要的参数 就是 10和30
执行这个方法 相当于
a.add(10,30);
例如:
method.invoke(a,10,30)