首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

Groovy高效率编程——用Closure替代匿名类

2012-11-03 
Groovy高效编程——用Closure替代匿名类由于内部类存在语义缺陷,所以JCP决定将在Java7或Java8中添加对Closur

Groovy高效编程——用Closure替代匿名类
由于内部类存在语义缺陷,所以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

热点排行