问答详情
源自:3-3 动态代理实现添加 InvocationHandler

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

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";
}


提问者:MichaelDuan 2020-09-14 22:53

个回答

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

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