首页 > 其他 > 详细

通过反射 拿到方法

时间:2017-05-04 15:44:57      阅读:262      评论:0      收藏:0      [点我收藏+]
package com.sxt.method1;
/*
 * 通过反射 拿到方法
 */
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class TestMethod {
    public static void main(String[] args) throws Exception {
        //获取类信息
        Class<?> class1 = Class.forName("com.sxt.entity.Student");
        //创建对象
        Object obj = class1.newInstance();
        //获取所有方法
        Method[] methods = class1.getDeclaredMethods();
        //遍历查看所需要的方法信息
        for(Method m : methods){
            System.out.println(m.getName()+"\t"+m.getReturnType()+"\t"+Modifier.toString(m.getModifiers()));            
        }
        System.out.println("-------------------------------------");
//        //获取对应的public方法
//        Method method = class1.getMethod("sum", int.class,int.class);
//        Object result = method.invoke(obj, 3,4);
//        System.out.println("result:"+result);
        
        //获取private的对应方法  突破了封装的限制
        Method m = class1.getDeclaredMethod("sum", int.class,int.class);
        System.out.println(m.getName()+"\t"+m.getReturnType()+"\t"+Modifier.toString(m.getModifiers()));            
        m.setAccessible(true);
        Object result = m.invoke(obj, 3,4);
        System.out.println("result:"+result);
        
    }
}

 

通过反射 拿到方法

原文:http://www.cnblogs.com/qingfengzhuimeng/p/6807272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!