Java反射
package com.imooc.reflect;
import java.lang.reflect.Method;
public class MethodDemo1 {
public static void main(String[] args) {
A a1 = new A();
//先得到类类型 在得到方法
//1对象. 2类名.class 3 classforname
Class c = a1.getClass();
try {
Method m = c.getMethod("print",new Class[]{String.class,String.class});
Object o = m.invoke(a1,new Object[]{"hello","WORD"});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class A{
public void print(){
System.out.println("=========");
}
public void print(int a,int b){
System.out.println(a+b);
}
public void print(String a, String b){
System.out.println(a.toUpperCase()+" "+b.toLowerCase());
}
}
List<String>
反射可以绕过编译 这个时候加一个String 是为了我们添加的时候如果类型不对 编译无法通过会报错 实际在运行的时候是去掉类型的