【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )
生活随笔
收集整理的這篇文章主要介紹了
【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、Java 中函數(shù)參數(shù)是接口類型
- 二、函數(shù)參數(shù)是接口類型 可以 直接傳遞閉包
- 三、完整代碼示例
一、Java 中函數(shù)參數(shù)是接口類型
在 Android 中經(jīng)常使用如下形式的接口 :
定義一個(gè) OnClickListener 接口 ,
interface OnClickListener {void onClick() }將 OnClickListener 接口對(duì)象 作為函數(shù)參數(shù) , 傳遞到函數(shù)中 ,
void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }然后調(diào)用上述函數(shù) , 傳遞一個(gè) OnClickListener 的匿名內(nèi)部類 ,
setOnClickListener(new OnClickListener() {@Overridevoid onClick() {println "OnClick"} })執(zhí)行結(jié)果為 :
OnClick二、函數(shù)參數(shù)是接口類型 可以 直接傳遞閉包
如果 setOnClickListener 函數(shù)參數(shù)接收的是 111 個(gè)接口 , 接口中只有 111 個(gè)方法 , 那么可以直接向 setOnClickListener 方法中傳遞一個(gè)閉包 , 該閉包相當(dāng)于 OnClickListener 接口中的 onClick 方法 ;
interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }setOnClickListener{println "OnClick2" }執(zhí)行結(jié)果 :
OnClick2三、完整代碼示例
完整代碼示例 :
interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }// 正常參數(shù)調(diào)用 setOnClickListener(new OnClickListener() {@Overridevoid onClick() {println "OnClick"} })// 傳遞一個(gè)閉包到 setOnClickListener 方法中 setOnClickListener{println "OnClick2" }執(zhí)行結(jié)果 :
OnClick OnClick2總結(jié)
以上是生活随笔為你收集整理的【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Groovy】Groovy 方法调用
- 下一篇: 【Groovy】Groovy 方法调用