Java反射的三种实现方式:
Test test = new Test();
第一种:通过Object类的getClass方法 Class cla = test .getClass();
第二种:通过对象实例方法获取对象 Class cla = test.class;
第三种:通过Class.forName方式 Class cla = Class.forName("xx.xx.Test ");
示例:
package com.test;
class TestA{
private String test(String a,Integer b){
return "私有化方法调用成功";
}
}
package com.demo;
class TestB{
public void demo(){
Class c = Class.forName("com.test");
Method m = c.getDeclaredMethod("test",String.class,Integer.class);
m.setAccessible(true);
System.out.println(m.invoke(c.newInstance(),"ceshi",1));
//私有化方法调用成功
}
}