package com.test;
import java.lang.reflect.Method;
public class Test_Method {
public int add(int param1, int param2){
return param1+param2;
}
public String echo(String msg){
return "echo " + msg;
}
public static void main(String[] args) throws Exception {
Class classType = Test_Method.class; //类
Object invokeTest = classType.newInstance(); //实例化
//addMethod
Method addMethod = classType.getMethod("add", new Class[]{int.class,int.class}); //形参
Object result = addMethod.invoke(invokeTest, new Object[]{new Integer(100),new Integer(200)});//实参
System.out.println("result = " + result);
System.out.println("result的类型是:" + result.getClass());
//echoMethod
Method echoMethod = classType.getMethod("echo", new Class[]{String.class});
Object result1 = echoMethod.invoke(invokeTest, new Object[]{"你好!"});
System.out.println(result1);
System.out.println("result1的类型是:" + result1.getClass());
// Object invokeTest1 = classType.newInstance(); //实例化 不是同一个对象
// System.out.println("invokeTest.hashcode() = " + invokeTest.hashCode());
// System.out.println("invokeTest1.hashcode() = " + invokeTest1.hashCode());
}
}
java反射
最新推荐文章于 2024-09-11 16:58:56 发布