scala中默认情况下成员函数是虚拟的吗?在这件事上它与Java不同吗?
当一个方法被覆盖时,你必须明确说明,但没有“虚拟”。
答案 0 :(得分:5)
scala中默认情况下成员函数是虚拟的吗?
是
在这件事上它与Java不同吗?
不,在Java方法中也是虚拟的,除非它们被明确定义为final
。
然而,Java与Scala的不同之处在于Java不需要(或拥有)override
关键字来覆盖方法 - 它确实有@override
注释(自Java 1.5起)和在覆盖没有该注释的方法时发出警告。
答案 1 :(得分:2)
scala中默认情况下成员函数是虚拟的吗?
是
在这件事上它与Java不同吗?
没有。但它与C ++或C#不同。
这是好主意还是坏主意是非常有争议的。