参考官方Scala文档:case-classes.html“案例类构造函数参数默认为公共val字段”
但是,.scala的反编译
case class A(i: Int)
显示下面的Java代码
private final int i; // private, not public
public int i(){ return i; }
case-classes.html中的语句是否意味着:“默认情况下,案例类构造函数参数是private val字段。”但是,自动生成的getter会将其公开。
case classes
的构造函数参数是公共val
。但是,val
是不可变的,因此必须在具有公共获取器但没有设置器的类中作为私有值实现。