我阅读了Scala中的Programming编程部分abstract override,但是我仍然对这些修饰符的加入所表示的内容感到困惑.使用这些修饰符的代码片段粘贴在下面:
trait Doubling extends IntQueue {
abstract override def put(x: Int) { super.put(2 * x) }
}
Run Code Online (Sandbox Code Playgroud)
特别是,我对abstract这种情况的目的感到困惑,以及为什么我们不能简单地用override关键字实现预期的结果.如果我们没有包含电话super,我们是否需要关键字abstract?为什么或者为什么不?我正在寻找这个关键字组合的详细解释,因为它与可堆叠特征有关.