scala中的成员函数默认是虚拟的吗?在这件事上它与 Java 有什么不同吗?
当一个方法被覆盖时,您必须明确声明,但没有“虚拟”。
scala中的成员函数默认是虚拟的吗?在这件事上它与 Java 有什么不同吗?
当一个方法被覆盖时,您必须明确声明,但没有“虚拟”。
scala中的成员函数默认是虚拟的吗?
是的。
在这件事上它与 Java 有什么不同吗?
不,在 Java 中方法也是虚拟的,除非它们被明确定义为final
.
然而,Java 与 Scala 的不同之处在于 Java 不需要(或没有)override
关键字来覆盖方法 - 它确实有一个@override
注释(从 Java 1.5 开始),并且当您覆盖没有该注释的方法时会发出警告。
scala中的成员函数默认是虚拟的吗?
是的。
在这件事上它与 Java 有什么不同吗?
不,但是它与 C++ 或 C# 不同。
这是一个好主意还是坏主意是非常有争议的。