gpt4 book ai didi

scala 类构造函数参数

转载 作者:行者123 更新时间:2023-12-02 07:36:50 25 4
gpt4 key购买 nike

有什么区别:

class Person(name: String, age: Int) {
def say = "My name is " + name + ", age " + age
}

class Person(val name: String, val age: Int) { 
def say = "My name is " + name + ", age " + age
}

我可以将参数声明为 var 并稍后更改它们的值吗?例如,

class Person(var name: String, var age: Int) {

age = happyBirthday(5)

def happyBirthday(n: Int) {
println("happy " + n + " birthday")
n
}
}

最佳答案

对于第一部分,答案是范围:

scala> class Person(name: String, age: Int) {
| def say = "My name is " + name + ", age " + age
| }

scala> val x = new Person("Hitman", 40)

scala> x.name
<console>:10: error: value name is not a member of Person
x.name

如果您使用 valvar 作为参数前缀,它们将从类外部可见,否则,它们将是私有(private)的,如上面的代码所示。

是的,您可以像平常一样更改 var 的值。

关于scala 类构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com