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 + -
显示快捷键?