在 Scala 中,当您声明 val 或 var 时,Scala 会在编译为字节码时自动为您生成私有字段以及 getter 和 setter。
例如
class myClass {
val name = "My Name"
}
将编译以创建等效的
class myClass {
private string name;
public string name();
public void name_$eq(string);
}
其中 name() 和 name_$eq 是私有字符串名称的 getter 和 setter。
我知道您可以通过将私有字段声明为 private[this] val/var blah 来强制它不为私有字段提供 getter 和 setter,但我需要能够创建一个在编译时不生成 getter 和 setter 的公共字段.
这在 Scala 中是否可行?
谢谢