poohbar
05/03/2017, 2:52 PMval
means that the variable can not be reassigned but the object it is pointing to can be mutated as in standard Java. e.g.:
val a = Person("Mike")
a = Person("Gael") // compile error here
a.name = "Gael" // compiles fine
if you used var
in this example there would be no compile error at all.