Groovy基础——接口的实现方式
来源:互联网 发布:网络销售微信聊天 编辑:程序博客网 时间:2024/06/05 20:03
前些天我们谈到Groovy闭包的强大特性,而今天我们来谈谈一个相对比较轻松的话题——Groovy中的接口可以怎么来实现。
通俗的类似Java的实现我们就不在此赘述。
接下来我们一一来看:
1.用闭包来实现单方法接口:
- interface Test{
- def one(String a)
- }
- def test = {it.concat('b')} as Test
- assert test.one('a') == 'ab'
这里我们用闭包实现了一个含有单个方法的接口接口中的it表示方法参数a。然后对a执行concat方法。as Test是闭包实现接口的一种实现形式。
2.用闭包来实现多方法接口:
- interface X{void f();void g(int n);void h(String s, int n);}
- x = {Object[] args -> println "method called with $args"} as X
- x.f()
- x.g(1)
- x.h("hello", 2)
这里我们先定义了一个多方法的接口。和1中类似的args是X接口中每个方法的方法参数集合。
3.用map来实现多方法接口:
- impl = [
- i: 10,
- hasNext: { impl.i>0 },
- next: { impl.i-- }
- ]
- iter= impl as Iterator
- while(iter.hasNext()) println iter.next()
用map来实现多方法的接口,是一种更通用的做法。
4.只实现需要的接口方法。
- interface X
- { void f(); void g(int n); void h(String s, int n); }
- x = [ f: {println "f called"} ] as X
- x.f()
- //x.g() // NPE here
0 0
- Groovy基础——接口的实现方式
- Groovy实现接口
- Groovy的方法、闭包语法,接口的实现
- 接口的实现方式
- Groovy的基础语法
- Groovy的基础语法
- Groovy的基础语法
- JAVA/GROOVY中调用脚本引擎的实现方式
- Groovy基础——MetaClass详解
- Gradle基础——Groovy语言
- Gradle篇一——groovy基础
- groovy 接口
- java学习日记_100:线程的第二种实现方式——实现Runnable接口
- 实现Servlet方式一——实现Servlet接口
- Groovy轻松入门——Grails实战基础篇(1)
- Groovy轻松入门——Grails实战基础篇(2)
- Groovy轻松入门——Grails实战基础篇(3)
- Groovy轻松入门——Grails实战基础篇(4)
- 文件上传函数(有空会自己修改)
- fwrite和fread
- 高斯混合模型
- jvm HotSpot虚拟机主要参数表
- SQLServer 扩展事件(Extended Events)
- Groovy基础——接口的实现方式
- 解决 spring mvc 返回 json 时 在 ie 下提示下载问题
- LintCode- 链表倒数第n个节点
- hiho 9 状态压缩二
- hibernate使用原生SQL查询返回结果集的处理
- jvm 对象查询语言(OQL)简介
- 直接选择排序
- jvm 对象查询语言(OQL)简介
- 主题模型