展开所有实例的Abstract Java类

| 我正在开发Grails应用程序atm。我需要在抽象的Java类(
org.quartz.Trigger
)上添加一个属性
Trigger.metaClass.id = { delegate.hashCode() }
在我上课之前我想为我的应用程序中的所有触发器启用此功能。这可能吗?还是我每次需要物业时都要重复一次?     
已邀请:
        如果在实例化任何
Trigger
对象之前将其添加到
metaClass
中,则此加法将存在于所有对象中。 但是,在创建它们之后,您需要将其添加到
Trigger
的每个实例中。 当然,该方法仅在Groovy中可见,因为Java不了解
metaClass
。 一些示例Groovy代码展示了这一点:
// Add to the metaClass of an anstract java class
AbstractList.metaClass.woo = { \'hi there\' }

// Create an instance of a class that extends this abstract class
ArrayList list = [ 1, 2, 3 ]

// Call the closure in the metaClass
println list.woo()
    

要回复问题请先登录注册