我正在編寫一個包裝類,它將大多數調用傳遞給根對象,並且我意外地將完整定義(帶有參數名稱x等)留在下面。令我驚訝的是,它編譯。那麼這裏發生了什麼?這與分配給root.p_相似嗎?我感到很奇怪,我可以在分配中留下「x」這個名字。另外,傳遞包裝呼叫的最佳(最快)方式是什麼?或者它沒有區別?這是爲什麼編譯和發生了什麼?
trait A {
def p(x:Int) = println("A"+123)
}
case class B(root:A) {
def p(x: Int): Unit = root.p(x:Int) // WHAT HAPPENED HERE?
}
object Test extends App {
val temp = new A{}
val b = B(temp)
b.p(123)
}
很棒的答案!現在我也明白爲什麼這個語法可能有用...... – LaloInDublin