无法从静态上下文中引用非静态 方法 getClass(),这个是怎么回事

来源:3-3 动态代理实现添加 InvocationHandler

MichaelDuan

2020-09-14 22:53

Method md = pattern.structure.proxy.dynamic_proxy.jdk.simulate.Moveable.getClass().getMethod("move"); 错误: 无法从静态上下文中引用非静态 方法 getClass(),这个是怎么回事?


Method[] methodArr = interfaceCls.getMethods();
String methodStr = "";
for (int i = 0; i < methodArr.length; i++) {
    Method method = methodArr[i];
    methodStr += "" +
            "    @Override\n" +
            "    public void " + method.getName() + "() {\n" +
            "        Method md = " + interfaceCls.getName() + ".getClass().getMethod(\"" + method.getName() + "\"); \n" +
            "        h.invoke(this,md);\n" +
            "    }\n";
}


写回答 关注

1回答

  • 慕梦前来
    2021-05-26 21:34:42

    不在一个作用域下吧,环镜不一样

模式的秘密---代理模式

本节课程将带你领略Java编程语言中代理模式的奥妙

54914 学习 · 98 问题

查看课程

相似问题