成人一对一视频交友

问一个关于Java反射和动态代理的问题。动态代理生成的对象通过反射设置报告错误

elbert
elbert

比如定义了一个接口IHello:

界面IHello {

void PrintHello();

{}

以及一个用户类:

类别用户{

IHello ihello

公共用户(){}

public void setIHello(IHello hello){

this.ihello=hello

{}

public void sayHello(){

ihello。printHello();

{}

{}

在实际调用时,采用动态代理先生产IHello的实例,然后设置到用户对象中调用是可以的:

我你好你好=(我你好)新动态代理().绑定(新hello());

用户用户=新用户();

用户。setihello(hello);

用户。sayHello();

现在某些情况下,我要通过反射的方式设置用户中的成员变量,我是这么写的:

我你好你好=(我你好)新动态代理().绑定(新hello());

用户用户=新用户();

阶级?参数=新类[1];

parmeter[0]=hello。GetClass();

//获取方法时出错

方法setHello=user.getClass().getDeclaredMethod(‘setIHello ‘,parmeter);

setHello.invoke(user,hello);

在上面一句获取方法时出错了,报错内容为NoSuchMethodException,因为帕米特类型不对。

请教应该怎么改呢?

(上面那句改成getDeclaredMethod(‘setIHello ‘,IHello.class)肯定是可以的,问题是现在不希望指定类型,而希望帕米特是动态生成的(

elbert
品牌