我在其他人的Scala代码中遇到了这种语法,并且不记得读过它了:
val c = new C { i = 5 }
新C 之后的块似乎等同于:
val c = new C
c.i = 5
假设类定义如:
class C {
var ii = 1
def i_=(v: Int) { ii = v }
def i = ii
}
Scala中调用的语法是什么?我想了解更多相关信息,但我无法在 Scala编程或其他地方找到它。
答案 0 :(得分:9)
您正在实例化C
的匿名子类。
等同于您展示的代码 - 尝试在代码段中名为getClass
的两个实例上调用c
。