我是靠谱客的博主 舒服蓝天,最近开发中收集的这篇文章主要介绍【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )一、使用闭包创建接口对象 ( 接口中有一个函数 )二、使用闭包创建接口对象 ( 接口中有多个函数 )三、完整代码示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

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





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



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

interface OnClickListener {
    void onClick()
}

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

new OnClickListener() {
    @Override
    void 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()

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

OnClickListener2

代码示例 :

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

void setOnClickListener2 (OnClickListener2 onClickListener) {
    onClickListener.onClick()
}

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

listener2.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 OnClickListener2

listener2.onClick()
listener2.onLongClick()

setOnClickListener2(listener2)

执行结果 :

OnClickListener
OnClickListener
OnClickListener2
OnClickListener2
OnClickListener2

在这里插入图片描述

最后

以上就是舒服蓝天为你收集整理的【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )一、使用闭包创建接口对象 ( 接口中有一个函数 )二、使用闭包创建接口对象 ( 接口中有多个函数 )三、完整代码示例的全部内容,希望文章能够帮你解决【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )一、使用闭包创建接口对象 ( 接口中有一个函数 )二、使用闭包创建接口对象 ( 接口中有多个函数 )三、完整代码示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部