package reflect;
public class A {
public void a(){
System.out.println("a");
}
public class A {
public void a(){
System.out.println("a");
}
}
package reflect;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class B {
public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, IllegalAccessException, InvocationTargetException, InstantiationException {
/**
* 这种写法过于依赖A,耦合性高
*/
// A a=new A();
// a.a();
/**
* 第二种反射机制的写法
*/
Class c=Class.forName("reflect.A");
Method[] ms=c.getDeclaredMethods();//获取A的所有方法
ms[0].invoke(c.newInstance());
}
}