有时候需要用反射实现代码。直接用工具,joor
上代码:
package com.ming.joor; import static org.joor.Reflect.*; public class Test { private String name="aa"; public static void main(String[] args) { on(new Test()).call("aa");//直接调用方法 String name=on(new Test()).get("name");//直接调用属性 System.out.println(name); on(new A()).as(StringProxy.class).aa(1);//先用对象,然后转到接口,最后调用方法的实现 //基本够用了 } public void aa(){ System.out.println("ddddddd"); } } interface StringProxy { String substring(int beginIndex); void aa(int a); } class A implements StringProxy{ @Override public String substring(int beginIndex) { return null; } @Override public void aa(int a) { System.out.println("a"+a); } }
joor 源码地址:https://github.com/jOOQ/jOOR
有用的东西就应该直接用了.