gpt4 book ai didi

scala - "this"关键字如何在 Scala 辅助构造函数中使用和工作?

转载 作者:行者123 更新时间:2023-12-01 09:02:44 24 4
gpt4 key购买 nike

我刚刚开始学习Scala,帮助我理解年龄是如何打印学生类有两个参数的

class Student(id: Int, name: String) {
var age: Int = 0
def showDetails() {
println(id + " " + name + " " + age)
}
def this(id: Int, name: String, age: Int) {
this(id, name)
this.age = age
}
}

object hi {
def main(args: Array[String]) {
var s = new Student(101, "Sun", 20);
s.showDetails()
}
}

最佳答案

that how the age is printing where student class has two parameters


Student有两个构造函数。带有两个参数的辅助构造函数:
class Student(id: Int, name: String)

但它也通过 this() 定义了一个带有三个参数的额外构造函数。 :
def this(id: Int, name: String, age: Int)

当您创建 Student 的实例时在 main ,您使用接受三个参数的辅助构造函数:
var s = new Student(101, "Sun", 20);

因此, 20是年龄。如果你使用辅助构造函数, age仍将设置为 0制作 showDetails()打印出来 0 .

关于scala - "this"关键字如何在 Scala 辅助构造函数中使用和工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45189278/

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