zoukankan      html  css  js  c++  java
  • 通过Java反射调用方法

    通过Java反射调用方法
     
    这是个测试用的例子,通过反射调用对象的方法。
    import java.lang.reflect.Method; 
    import java.lang.reflect.InvocationTargetException; 
    
    /** 
    * Created by IntelliJ IDEA. 
    * File: TestRef.java 
    * User: leizhimin 
    * Date: 2008-1-28 14:48:44 
    */ 
    public class TestRef { 
    
        public static void main(String args[]) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException { 
            Foo foo = new Foo("这个一个Foo对象!"); 
            Class clazz = foo.getClass(); 
            Method m1 = clazz.getDeclaredMethod("outInfo"); 
            Method m2 = clazz.getDeclaredMethod("setMsg", String.class); 
            Method m3 = clazz.getDeclaredMethod("getMsg"); 
            m1.invoke(foo); 
            m2.invoke(foo, "重新设置msg信息!"); 
            String msg = (String) m3.invoke(foo); 
            System.out.println(msg); 
        } 
    } 
    
    class Foo { 
        private String msg; 
    
        public Foo(String msg) { 
            this.msg = msg; 
        } 
    
        public void setMsg(String msg) { 
            this.msg = msg; 
        } 
    
        public String getMsg() { 
            return msg; 
        } 
    
        public void outInfo() { 
            System.out.println("这是测试Java反射的测试类"); 
        } 
    }

    控制台输出结果:

    这是测试Java反射的测试类 
    重新设置msg信息! 
    
    Process finished with exit code 0 
  • 相关阅读:
    日志
    mysql锁
    慢查询
    auto_increment
    脚本
    服务器元数据
    复制表及表数据
    临时表
    (一)校园信息通微信小程序从前端到后台整和笔记
    OpenCart框架运行流程介绍opencart资料链接
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/7149288.html
Copyright © 2011-2022 走看看