通过反射 拿到方法
Posted 清风追梦enjoy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过反射 拿到方法相关的知识,希望对你有一定的参考价值。
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); } }
以上是关于通过反射 拿到方法的主要内容,如果未能解决你的问题,请参考以下文章