metaclasstest.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 35 行
GROOVY
35 行
package org.codehaus.groovy.classgen
class MetaClassTest extends GroovyTestCase {
void testMetaClass() {
test(this)
test { print(it) }
}
protected def test(object) {
def metaClass = object.metaClass
assert metaClass != null
println(metaClass)
def classNode = metaClass.getClassNode()
assert classNode != null
println(classNode)
def name = object.getClass().getName()
assert classNode.name == name
}
void testMetClassDefinition() {
assertScript """
class Foo {
MetaClass metaClass
}
def foo = new Foo()
assert foo.@metaClass != null
"""
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?