在Scala中声明val或var时,Scala会在编译为字节码时自动为您生成私有字段以及getter和setter.
例如
class myClass {
val name = "My Name"
}
Run Code Online (Sandbox Code Playgroud)
将编译以创建等效的
class myClass {
private string name;
public string name();
public void name_$eq(string);
}
Run Code Online (Sandbox Code Playgroud)
其中name()和name_ $ eq是私有字符串名称的getter和setter.
我知道你可以迫使它不声明为私人[这] VAL/VAR等等为私人领域的getter和setter方法,但我需要能够创建一个公共领域不会产生getter和setter在编译时.
这在Scala中甚至可能吗?
谢谢
scala ×1