实现函数时需要override关键字

时间:2014-07-20 19:22:11

标签: scala lint

我想通过在重写方法实现之前始终使用override来保持代码库的清洁,但它在Scala中似乎是可选的。是否有工具,插件或参数来检查代码样式是否符合使用override

1 个答案:

答案 0 :(得分:5)

对于实际覆盖基类中的具体成员的所有成员,scala编译器需要override关键字。如果没有基类具有该成员,则禁止使用。

所以,简短回答:是的,有一个工具,它是Scala编译器。

请注意,override modifer在实现抽象方法时是可选的。这是一个很好的设计决策,因为它允许你追溯混合特征。如果您不小心混入具有冲突具体定义的特征,编译器会通过告诉您缺少override修饰符来警告您。