相关疑难解决方法(0)

在scala中使用def,val和var

class Person(val name:String,var age:Int )
def person = new Person("Kumar",12)
person.age = 20
println(person.age)
Run Code Online (Sandbox Code Playgroud)

这些代码行输出12,即使person.age=20已成功执行.我发现这是因为我使用了def def person = new Person("Kumar",12).如果我使用var或val,则输出为20.我理解scala中的默认值是val.这个:

def age = 30
age = 45
Run Code Online (Sandbox Code Playgroud)

...给出编译错误,因为它默认为val.为什么上面的第一组行不能正常工作,而且还没有错误?

scala

153
推荐指数
6
解决办法
9万
查看次数

标签 统计

scala ×1