成员函数默认是虚拟的

Luk*_*don 4 methods virtual overriding jvm scala

在scala中,成员函数是否默认为虚拟?在这件事上它与Java不同吗?

当一个方法被覆盖时,你必须明确说明,但没有"虚拟".

sep*_*p2k 5

在scala中,成员函数是否默认为虚拟?

是.

在这件事上它与Java不同吗?

不,在Java方法中也是虚拟的,除非它们被明确定义为final.

然而,Java与Scala的不同之处在于Java不需要(或拥有)override关键字以覆盖方法 - 它确实有一个@override注释(自Java 1.5起),并在您覆盖没有该注释的方法时发出警告.