type Fly = ()=>Unit def doFly(fly:Fly): Unit ={ fly() } val birdFly = ()=>{ println("我是一只鸟") } val pigFly = ()=>{ println("我是一只猪,我在风口上") } doFly(birdFly) doFly(pigFly)
对于doFly方法来说,Fly可以等同的当作是一个java的接口,只要满足()=>Unit的 函数,都可以当成是一个子类。而且减少了很多接口和类的数量。
原文:http://www.cnblogs.com/luckuan/p/5240429.html