「java反射获得方法名」java反射获取方法参数名

博主:adminadmin 2022-11-30 06:15:07 66

今天给各位分享java反射获得方法名的知识,其中也会对java反射获取方法参数名进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

在JAVA中,怎么利用反射获取一个方法

java的反射用法:(异常请自行处理)

①找到类:Class cl = Class.forName("java.util.Date");

②创建对象(要求这个类中含有空参数的构造方法):Object obj = cl.newInstence();

③根据名称和参数找方法:Method method1 = cl.getMethod("getTime");//如果没有参数不用写第二个参数如果有参数的如:Method method2 = cl.getMethod("setTime",long.class);

④在某个对象上面执行方法,Object result = method1.invoke(obj);//如果有参数的Object result = method2.invoke(obj,21317362721);

执行的方如果有返回值,将返回值返回,否则返回null

如何在java方法中获得当前方法的名称

// 获得当前类名

String clazz = Thread.currentThread() .getStackTrace()[1].getClassName();

// 获得当前方法名

String method = Thread.currentThread() .getStackTrace()[1].getMethodName();

System.out.println("class name: " + clazz + " Method Name " + method);

java反射获得方法名后怎样判断方法是否含有参数?

public static void printMethods(Class cl)

{

Method[] methods =cl.getDeclaredMethods();//返回一个包含方法对象的数组

for(Method m : methods)//循环该类的每个方法

{

Class retType = m.getReturnType();//该方法的返回类型,

Sting name = m.getName();//获得方法名

Systen.out.print(" "+Modifier.toString(m.getModifiers());打印方法修饰符

System.out.print(" "+retType.getName() + " " + name +"(");

Class[] paramTypes = m.getParameterTypes();//获得一个方法参数数组(getparameterTypes用于返回一个描述参数类型的Class对象数组)

for(int j = 0 ; j paramTypes.length ; j++)

{

if ( j 0 ) System.out.print(" , "); //如果有多个参数,中间则用逗号隔开,否则直接打印参数

System.out.print (paramTypes[ j ].getName);

}

System.out.println (" );");

}}

//////////getparameterTypes方法用于返回一个描述参数类型的Class对象数组)

关于java反射获得方法名和java反射获取方法参数名的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。