Is member function virtual by default in scala?
Yes.
Is this different from Java in this matter?
No, in Java methods are also virtual unless explicitly defined as final .
However, Java differs from Scala in that Java does not require (or does not have) the override keyword to override methods - it has an @override annotation, although (since Java 1.5) it gives a warning when overriding a method without this annotation.
source share