本文介绍了Groovy可以动态添加或覆盖POJO上的方法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有

  // java 
class MyClass {
public String getName(){
返回hector;
}
}

以及此类的一个实例。 Groovy可以覆盖实例上的getName()方法吗?

当然,您可以使用。



您的情况将由以下示例:

  def object = new MyClass(); 
object.metaClass.getName = {Jake}
assertJake== object.getName()


If I have

// java
class MyClass {
   public String getName() {
     return "hector";
   }
}

and an instance of this class. Can Groovy override the getName() method on the instance?

解决方案

Of course you can using Dynamic MetaClass.

Your case is specifically covered by the following example :

def object = new MyClass();
object.metaClass.getName = { "Jake" }
assert "Jake" == object.getName()

这篇关于Groovy可以动态添加或覆盖POJO上的方法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 20:43