更新时间:2022-09-10 19:36:15
结果表明,一个Groovy类实例试图调用一个POGO上没有定义的方法之时,POGO上被override的方法invokeMethod(在接口GroovyObject中声明)会自动被调用。
再看一个原生的Java类:
class JavaPerson{ String name; public JavaPerson(String name) { this.name = name; } public void hello() { System.out.println("Hello: " + this.name); } } JavaPerson jerry = new JavaPerson("Jerry"); jerry.hello(); try { jerry.hello2(); } catch(Exception e) { System.out.println("error: " + e.getMessage()); }