java 通过反射怎么获取方法中参数值

java 通过反射怎么获取方法中参数值,第1张

Class<> clazz = objectgetClass();

Method[] ms = clazzgetMethods();

for (int i = 0; i < mslength; i++) {

Systemoutprintln("方法名:"+ms[i]getName());

Type[] t = ms[i]getGenericParameterTypes();//获取参数类型,至于你说的获取参数值,我没明白

}

Class cls = ClassforName("comqfedua_reflectPerson");

Method[] allPublicMethods = clsgetMethods();

for (Method method : allPublicMethods) {

Systemoutprintln(method);

}

//暴力反射

//能够获取Person里面的private方法, 并且能够过滤掉从父类继承而来的方法

Method[] allMethods = clsgetDeclaredMethods();

for (Method method : allMethods) {

Systemoutprintln(method);

}

invoke(Object obj, Object args);

Object obj 这是底层调用该方法的类对象

the object the underlying method is invoked from

Object args 不定参数,是执行该放的参数列表,是Object类型

args is arguments used for method call

//向利用反射,创建一个当前类的对那个

Person p = (Person) clsgetConstructor(intclass, Stringclass)

newInstance(1, "狗蛋");

//获取一个指定的方法,需要的参数是方法的名字字符串和参数列表,

Method aPublicMethod = clsgetMethod("sleep", intclass);

Systemoutprintln("49" + aPublicMethod);

aPublicMethodinvoke(p, 15);

//获取一个静态方法

Method aPublicStaticMethod = clsgetMethod("eat", null);

aPublicStaticMethodinvoke(null, null);

//利用暴力反射获取一个私有化的成员方法

Method aPrivateMethod = clsgetDeclaredMethod("testPrivate", null);

aPrivateMethodsetAccessible(true);

aPrivateMethodinvoke(p, null);

以上就是关于java 通过反射怎么获取方法中参数值全部的内容,包括:java 通过反射怎么获取方法中参数值、反射(方法)、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9318206.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存