import java.lang.reflect.*;public class TestClass {
public static void main(String[] args) throws Exception{
//ClassA o1=new ClassA();
//System.out.println(o1);
Class c=ClassA.class;
Object o2=c.newInstance();
//System.out.println(o2);
//获得方法
Method m1=c.getMethod("method1");
//通过反射,对o2调用method1方法。
m1.invoke(o2);
Method m2=c.getMethod("method2",String.class);//1
m2.invoke(o2, "hlonger");
Method m3=c.getMethod("method2", int.class);//2
m3.invoke(o2, 111);
Method m4=c.getMethod("method2",String.class,int.class);//3
m4.invoke(o2, "keep",111);
}}
class ClassA{
public ClassA(){
System.out.println("Create ClassA");
}
public String toString(){
return "Class Object";
}
public void method1(){
System.out.println("method1");
}
public void method2(int i){
System.out.println("method2(int)"+i);
}
public void method2(String s){
System.out.println("method(String)"+s);
}
public void method2(String s,int i){
System.out.println("method2(String,int)"+s+"\t"+i);
}
}在Eclipse中1,2,3显示关于泛型的问题,请高手指点一下.
public static void main(String[] args) throws Exception{
//ClassA o1=new ClassA();
//System.out.println(o1);
Class c=ClassA.class;
Object o2=c.newInstance();
//System.out.println(o2);
//获得方法
Method m1=c.getMethod("method1");
//通过反射,对o2调用method1方法。
m1.invoke(o2);
Method m2=c.getMethod("method2",String.class);//1
m2.invoke(o2, "hlonger");
Method m3=c.getMethod("method2", int.class);//2
m3.invoke(o2, 111);
Method m4=c.getMethod("method2",String.class,int.class);//3
m4.invoke(o2, "keep",111);
}}
class ClassA{
public ClassA(){
System.out.println("Create ClassA");
}
public String toString(){
return "Class Object";
}
public void method1(){
System.out.println("method1");
}
public void method2(int i){
System.out.println("method2(int)"+i);
}
public void method2(String s){
System.out.println("method(String)"+s);
}
public void method2(String s,int i){
System.out.println("method2(String,int)"+s+"\t"+i);
}
}在Eclipse中1,2,3显示关于泛型的问题,请高手指点一下.
看看你的eclipse设置:window->Perferences中java->Compiler中的Complier compliances level选择5.0以上。
Class c=ClassA.class;
该为
Class<ClassA> c=ClassA.class;