黑猴子的家:Scala 匿名子类

和Java一样,你可以通过包含带有定义或重写的代码块的方式创建一个匿名的子类

class Person4(val name: String) {
  override def toString = getClass.getName + "[name=" + name + "]"
}

使用

val alien = new Person4("Fred") {
  def greeting = "Greetings, Earthling! My name is Fred."
}
println(alien.greeting)

尖叫提示:类似于Java的匿名内部类,没有名字的类必须实例化,你不实例化,就没有意思,因为现在不实例化,就没有实例化的机会,没有名字,没有引用,你再也找不到它了

你可能感兴趣的:(黑猴子的家:Scala 匿名子类)