注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

和申的个人主页

专注于java开发,1985wanggang

 
 
 

日志

 
 

Groovy用Closure表示实现匿名类  

2014-04-10 11:40:05|  分类: groovy |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
今天遇到groovy中不能用匿名内部类的语法。
下面是关于这篇的文章,可以实现接口或者抽象类:

由于内部类存在语义缺陷,所以JCP决定将在Java7或Java8中添加对Closure的支持。而Groovy一开始就洞察到了这点,所以在Groovy中没有内部类,只有Closure,不过为了更好地兼容Java,将在未来的某个版本中支持内部类。现在让我们看看Groovy是如何满足Java开发人员对匿名类的需求的。 

1,实现接口 
interface  Talkable {
    
 void  sayHello(String name)
}

def man 
 =  [
    
 //  实现接口 
    sayHello:{String name  ->  println  " Hello, $name " }
] as Talkable

man.sayHello(
 " Daniel " )
运行结果:
Hello, Daniel

2,继承抽象类
abstract class Human {
    
abstract void sayHello(String name)
}

def man 
= [
    
// 实现抽象方法
    sayHello:{String name -> println "Hello, $name"}
] as Human

man.sayHello(
"Daniel")
运行结果:
Hello, Daniel

  评论这张
 
阅读(679)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016