scala中的特征对象

scala中的特征对象,scala,traits,Scala,Traits,在coursera课程中,我遇到了这样的结构: trait Generator[+T] { def generate: T } 使用方法: val integers = new Generator[Int] { val rand = new java.util.Random def generate = rand.nextInt() } 为什么我们可以这样做?在哪里我可以找到更多关于它的信息?它是一个匿名子类,就像你在Java中可以做的那样。它是一个匿名子类,就像你在Java中可

在coursera课程中,我遇到了这样的结构:

trait Generator[+T] {
  def generate: T
}
使用方法:

val integers = new Generator[Int] {
  val rand = new java.util.Random
  def generate = rand.nextInt()
}

为什么我们可以这样做?在哪里我可以找到更多关于它的信息?

它是一个匿名子类,就像你在Java中可以做的那样。

它是一个匿名子类,就像你在Java中可以做的那样。

把一个特性想象成Java power接口。在第二个代码片段中,您正在创建一个实现trait(或javaland中的接口)的匿名类。在第二个代码段中,您正在创建一个实现trait(或javaland中的接口)的匿名类。