我有一個抽象類,與採用浮動的列表作爲參數的方法:如何重載父類方法
abstract class a {
def m(p: List[Float]) {
println("Passed List[Float] to p()")
}
}
我想重載米的一個具體的繼承類:
class b extends a {
def m(p: List[Double]) {
println("Passed List[Double] to p()")
}
}
有沒有辦法做到這一點?當我嘗試它,我得到這個錯誤:
error: name clash between defined and inherited member:
method m:(p: List[Double])Unit and
method m:(p: List[Float])Unit in class a
have same type after erasure: (p: List)Unit
def m(p: List[Double]) {
我不希望重寫,我想重載。所以根據參數類型可以調用m()的任一版本。 – bwroga
您可以改用數組。 Scala數組直接映射到未使用泛型實現的Java數組。所以類型信息實際上在運行時停留在數組中。 – GJK