class Person(val name:String,var age:Int )
def person = new Person("Kumar",12)
person.age = 20
println(person.age)
Ces lignes de code sorties 12
, même si person.age=20
a été exécutée avec succès. J'ai trouvé que cela se passe parce que j'ai utilisé def en def person = new Person("Kumar",12)
. Si j'utilise la var ou val la sortie est 20
. Je comprends la valeur par défaut est de val en scala. Ce:
def age = 30
age = 45
...donne une erreur de compilation car c'est un val par défaut. Pourquoi le premier ensemble de lignes au-dessus de ne pas fonctionner correctement, et pourtant ne font pas d'erreur?