SAM
SAM 的使用主要是为了匿名接口实现的 提供了一套 函数式的形参传入
代码实例
trait
package org.yonggan.day04trait TraitDemo {def sayHello(msg: String)}
SAM 实现对比
bject App {def main(args: Array[String]): Unit = {/*** java 中匿名内部类的实现方式*/val u0 = new TraitDemo () {override def sayHello(msg: String) = {}}/*** scala 中 匿名内部类的实现方式*/val u = new () with TraitDemo {override def sayHello(msg: String) = {}}/*** SAM实现方式 简化了 匿名内部类的实现* 使用函数式 替换 匿名内部类*/val u1: TraitDemo = (msg: String) => {// 函数体}}
}
SAM 简化了匿名结果实现的。 使用函数的作为入参