java反射机制demo

来源:互联网 发布:女生学java还是web前端 编辑:程序博客网 时间:2024/05/16 16:55
1.
package com.test.jms;public class InflectBean {public void p(String msg) {System.out.println(msg);}public void p2(String msg1, String msg2) {System.out.println(msg1 + ":" + msg2);}}
2.
<pre name="code" class="java">package com.test.jms;import java.lang.reflect.Constructor;import java.lang.reflect.Method;public class InflectTest {/** * @param args * @throws ClassNotFoundException */public static void main(String[] args) throws Exception {//通过类装载器获取InflectBean类对象 ClassLoader loader = Thread.currentThread().getContextClassLoader();Class clazz = loader.loadClass("com.test.jms.InflectBean");//获取类的默认构造器对象并通过它实例化InflectBean  Constructor cons = clazz.getDeclaredConstructor((Class[]) null);InflectBean mInflectBean = (InflectBean) cons.newInstance();//可以直接调用方法mInflectBean.p("111");//通过反射调用方法//第一个参数是目标Class的方法名;第二个参数是方法入参的对象类型Method method_pMethod = clazz.getMethod("p", String.class);//第一个参数是操作的目标类对象实例;第二个参数是目标方法的入参。method_pMethod.invoke(mInflectBean, "222");//通过反射调用方法Method method_p2Method = clazz.getMethod("p2", String.class,String.class);method_p2Method.invoke(mInflectBean, "333", "444");}}


3.打印结果

111
222
333:444

0 0
原创粉丝点击