小编guo*_*jin的帖子

Scala:我可以声明一个公共字段,在编译时不会生成getter和setter吗?

在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

14
推荐指数
1
解决办法
1461
查看次数

标签 统计

scala ×1