サーチ…


備考

単一抽象メソッドは、 Java 8で導入されたタイプであり、1つの抽象メンバしかありません。

ラムダ構文

注:これはScala 2.12+(および最新の2.11.xバージョンでは-Xexperimental -Xfutureコンパイラフラグ付き)でのみ使用できます。

SAMタイプは、ラムダを使用して実装できます。

2.11.8
trait Runnable {
  def run(): Unit
}

val t: Runnable = () => println("foo")

型は、オプションで他の非抽象メンバを持つことができます:

2.11.8
trait Runnable {
  def run(): Unit
  def concrete: Int = 42
}

val t: Runnable = () => println("foo")


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow