Что я могу использовать личный финал
модификатор в Scala для?
Учитывая следующий код:
1| class A { def callFoo = foo; private final def foo = "bar of A" }
2| class B extends A { private final def foo = "bar of B"}
3| println((new A()).callFoo)
4| println((new B()).callFoo)
строка 3 и 4 Отпечатки:
1| bar of A
2| bar of A
Понятно, почему строка 2 не печатает бара B
, потому что на самом деле есть два FOO
определения, а последняя в B не переопределяют первое в A. В противном случае Scala потребует переопределения
- вместо модификатора
модификатора .
Так почему же Scala не просто запрещает комбинацию модификаторов частных
?