国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Groovy向?qū)嵗⑷敕椒?/h1>
2019-11-08 01:55:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Groovy向?qū)嵗?a href="http://www.survivalescaperooms.com/tag-1.html">注入方法

每個(gè)實(shí)例都有一個(gè)MetaClass,修改實(shí)例的MetaClass可以不影響其他實(shí)例。1、使用ExpandoMetaClass向?qū)嵗⑷搿?pre code_snippet_id="2216793" snippet_file_name="blog_20170220_1_3064683" code_snippet_id="2216793" snippet_file_name="blog_20170220_1_3064683" name="code" class="java">class AGroovyClass {}objA = new AGroovyClass() // 實(shí)例對(duì)象AobjB = new AGroovyClass() // 實(shí)例對(duì)象Bemc = new ExpandoMetaClass(AGroovyClass)emc.add = {val1, val2 -> val1 + val2}emc.initialize()objA.metaClass = emc // 向A注入方法PRintln objA.add(11, 13)try { objB.add(11, 13) // B中未注入方法,報(bào)錯(cuò)} catch (ex) { println "error"}返回24error2、直接使用metaClass,添加方法。
class AGroovyClass {}objA = new AGroovyClass() // 實(shí)例對(duì)象AobjB = new AGroovyClass() // 實(shí)例對(duì)象BobjA.metaClass.add = {val1, val2 ->	val1 + val2	}println objA.add(11, 13)try {    objB.add(11, 13)  // B中未注入方法,報(bào)錯(cuò)} catch (ex) {   println "error"}3、metaClass分組。
class AGroovyClass {}obj = new AGroovyClass()obj.metaClass {	add = { ->		"In add function"	}	del = { ->		"In del function"	}}println obj.add() // In add functionprintln obj.del() // In del function4、設(shè)置metaClass為null時(shí),僅僅會(huì)影響metaClass中添加的方法,類方法不受影響。
class AGroovyClass {	def add() {		"In add function"	}}obj = new AGroovyClass()obj.metaClass {		del = { ->		"In del function"	}}println obj.del() // In del functionobj.metaClass = nullprintln obj.add() // In add functiontry {	println obj.del()} catch(ex) {	println "error" // error}返回In del functionIn add functionerror
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

主站蜘蛛池模板: 青浦区| 揭阳市| 庄河市| 独山县| 宁河县| 乌拉特中旗| 汽车| 禹州市| 民勤县| 苍溪县| 治多县| 广汉市| 牟定县| 江阴市| 四子王旗| 河北区| 云南省| 萝北县| 汉中市| 平南县| 东港市| 合川市| 运城市| 屯昌县| 五寨县| 沁水县| 蒙城县| 浠水县| 潮州市| 九江县| 偃师市| 大英县| 封开县| 固始县| 景德镇市| 临泉县| 荥经县| 汤阴县| 凌云县| 兴业县| 沁阳市|