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.