国产探花免费观看_亚洲丰满少妇自慰呻吟_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://m.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ā)表

主站蜘蛛池模板: 故城县| 汕头市| 罗田县| 杭锦后旗| 尤溪县| 磐石市| 黄大仙区| 迭部县| 遂溪县| 绩溪县| 临夏县| 黄骅市| 华宁县| 曲周县| 南充市| 青海省| 竹山县| 辽宁省| 泸定县| 监利县| 青龙| 平安县| 九寨沟县| 樟树市| 丁青县| 确山县| 蓝田县| 南充市| 忻城县| 衢州市| 延津县| 南川市| 温宿县| 巧家县| 泸定县| 临汾市| 玉林市| 寿阳县| 鸡西市| 孝感市| 阳山县|