且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Groovy里的运行时元数据编程(metata programming)

更新时间:2022-09-10 19:36:15

Groovy里的运行时元数据编程(metata programming)Groovy里的运行时元数据编程(metata programming)

结果表明,一个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());
}

Groovy里的运行时元数据编程(metata programming)Groovy里的运行时元数据编程(metata programming)