gpt4 book ai didi

scala - 为什么构造函数参数成为案例类的成员?

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

  {
class MyClass(name: String) {}
val x = new MyClass("x")
println(x.name) // Error name is not a member of MyClass
}

但是

  {
abstract class Base

case class MyClass(name: String) extends Base {}

var x = new MyClass("x")
println(x.name) // name is a member of MyClass
}

那么,案例类有什么用呢?为什么所有的构造函数参数都变成了变量。

最佳答案

name 在这两个示例中都是成员,但在您的第一个示例中是私有(private)的,而在您的第二个示例中是公开的。案例类默认将其构造函数参数设置为public val

关于scala - 为什么构造函数参数成为案例类的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18194005/

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