class Person(val name:String,var age:Int )
def person = new Person("Kumar",12)
person.age = 20
println(person.age)
Эти строки выходов кода 12
, хотя person.age=20
был успешно выполнен. Я обнаружил, что это происходит, потому что я использовал def в def person = new Person("Kumar",12)
. Если я использую var или val, выходной результат 20
. Я понимаю, что значение по умолчанию - val в scala. Это:
def age = 30
age = 45
... дает ошибку компиляции, потому что по умолчанию это значение. Почему первый набор строк выше не работает должным образом, и все же также не ошибка?