class Person {
private var privateAge = 0
def age() = {privateAge}
def age_=(age:Int) {privateAge=age}
}
object Main{
def main(args:Array[String]){
val p = new Person
p.age = 12
}
}
When compile,p.age = 12
raise issue: reassignment to val
While if i remove the brackets of def age() = {privateAge}
in Person class, it works fine.
I confused that the p.age = 12
method should corresponds to def age_=(age:Int) {privateAge=age}
, but why i changed the def age() = {privateAge}
, it works.