在Java中,我通常使用与字段
相同的名称来调用setter的参数public void setA(int a){
this.a = a;
}
原因是稍后IDE将显示a
作为参数名称,因此更好地记录。
如何在Scala中执行相同的操作?
答案 0 :(得分:4)
你不必。创建Scala类时:
class A(val a: Int)
你获得了“免费”的访问者。如果您将参数声明为var
,那么您也可以获得一个setter。所以,回答你的问题:参数已经是类字段。
val myA = new A(42)
myA.a // 42
class B(var b: Int)
val myB = new B(42)
myB.b // 42
myB.b = 43
myB.b // 43
java bean的getXXX
/ setXXX
约定不适用于Scala(在Scala中尝试使用Java库时,这有时会出现问题)。
答案 1 :(得分:1)
Java有四个命名空间(iirc),Scala有两个。你不能这样做,虽然看到另一个答案,为什么这可能不是一个问题。