爲什麼,如果我有:斯卡拉孩子類繼承父類特質?
trait T {
def method(a: Int)
}
class A extends T {
//...
}
class B extends A {
//...
}
然後當我這樣做:
//...
val b = new B
b.method(15)
//...
的method()
被說成是未定義對於B?爲什麼我必須明確地說
class B extends A with T
爲了獲得我想要的?父類的特徵是否被繼承?如果他們可以認識到父母自己的方法的大部分是由定義繼承的,那又怎麼會這樣呢?如果是這樣,那麼這個論點是什麼?
除非你聲明'A'和'B''抽象',否則上面不會編譯,在這種情況下你不能調用'new' –