Groovy的元编程
生活随笔
收集整理的這篇文章主要介紹了
Groovy的元编程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Groovy的元編程
在Groovy中,如果你的對象使用了一個它不曾定義過的方法,不會報錯,至少編譯的時候不會報錯,這就是因為Groovy特殊的運行時機制。
如下:
你調用了一個對象的方法,他會先去檢查這個類里面是否定義了這個屬性和方法。如果沒有的話會去MeteClass中去尋找,別擔心沒有這個類,在Java中所有的類都會集成Object,而在Groovy中,所有的類都會繼承GroovyObject,這個類里面就有獲取MeteClass的方法:
這樣,就可以在運行中去動態的給對象添加屬性和方法,甚至是靜態的。
如果MeteClass中也沒有定義這個方法的話,就要去依次去尋找實體類里面是否實現了methodMissing和invokeMethod方法了,在這兩個方法里面可以做特殊的處理。
package objectclass Person {String nameint agedef eat() {println "${name} 在吃飯"}@OverrideObject invokeMethod(String name, Object args) {println "${name}方法不存在"} }總結
以上是生活随笔為你收集整理的Groovy的元编程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL45讲学习笔记(二)
- 下一篇: 快速替换指定单词