class Person(val name:String,var age:Int )def person = new Person("Kumar",12)person.age = 20println(person.age)
这些代码行输出12
,即使person.age=20
已成功执行。我发现这是因为我使用了def def person = new Person("Kumar",12)
。如果我使用var或val,则输出为20
。我理解scala中的默认值是val。这个:
def age = 30age = 45
...给出编译错误,因为它默认为val。为什么上面的第一组行不能正常工作,而且还没有错误?
MM们
慕侠2389804
慕的地8271018