欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )

发布时间:2025/6/17 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 一、使用闭包创建接口对象 ( 接口中有一个函数 )
  • 二、使用闭包创建接口对象 ( 接口中有多个函数 )
  • 三、完整代码示例





一、使用闭包创建接口对象 ( 接口中有一个函数 )



在 Groovy 中 , 声明一个接口 , 接口中定义了 111 个抽象函数 ,

interface OnClickListener {void onClick() }

传统创建接口的方法如下 , 创建一个匿名内部类 ;

new OnClickListener() {@Overridevoid onClick() {println "OnClick"} }

使用闭包 , 也可以创建上述接口对象 , 闭包中的内容就是唯一的抽象函数内容 ;

// 使用闭包创建接口对象 OnClickListener listener = {println "OnClickListener" }

调用

listener.onClick()

执行接口函数 , 执行结果如下 :

OnClickListener

代码示例 :

// I. 使用闭包创建接口, 接口中有 1 个函数interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener listener = {println "OnClickListener" }listener.onClick() setOnClickListener(listener)

执行结果 :

OnClickListener



二、使用闭包创建接口对象 ( 接口中有多个函数 )



如果接口中定义了多个函数 ,

interface OnClickListener2 {void onClick()void onLongClick() }

则在创建闭包时 , 在闭包后面添加

as 接口名

代码 , 如下 :

// 使用闭包创建接口对象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2

上述方法会默认将接口的多个方法都设置为上述闭包方法 ;

执行接口对象的 onClick 和 onLongClick 方法 , 执行的都是相同的闭包方法 ;

listener2.onClick() listener2.onLongClick()

上述 222 行代码执行结果都打印

OnClickListener2

代码示例 :

interface OnClickListener2 {void onClick()void onLongClick() }void setOnClickListener2 (OnClickListener2 onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2listener2.onClick() listener2.onLongClick()setOnClickListener2(listener2)

执行结果 :

OnClickListener2 OnClickListener2 OnClickListener2



三、完整代码示例



完整代码示例 :

// I. 使用闭包创建接口, 接口中有 1 个函数interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener listener = {println "OnClickListener" }listener.onClick() setOnClickListener(listener)// II. 使用闭包创建接口, 接口中有多个函数interface OnClickListener2 {void onClick()void onLongClick() }void setOnClickListener2 (OnClickListener2 onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2listener2.onClick() listener2.onLongClick()setOnClickListener2(listener2)

执行结果 :

OnClickListener OnClickListener OnClickListener2 OnClickListener2 OnClickListener2

总结

以上是生活随笔为你收集整理的【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。