最终方法不能在子类中重写.但有了Scala的魔力,似乎这是可能的.
请考虑以下示例:
trait Test { final def doIt(s: String): String = s } object TestObject extends Test { def doIt: String => String = s => s.reverse }
该方法doIt
中的对象TestObject
具有不相同的签名doIt
中的性状Test
.因此doIt
重载而不是重写.但正常调用doIt
始终调用方法TestObject
:
val x = TestObject.doIt("Hello") //> x : String = olleH
问:
我怎样才能调用原始的方法doIt
上TestObject
.这是可能的还是这种方法"有点被覆盖"?