1

在 Java 中,我们可以扩展方法中的当前范围以引用变量,this如果它被形式参数隐藏。一个典型的例子是我们在构造函数中所做的:

class A {
    int i;
    A(int i) { this.i = i; }
}

现在,Scala 中有没有类似的技巧?例如,我有这样的定义:

class A(i: Int) {
   val i = i; // ?
}

一个简单的解决方案是将其中一个参数重命名为其他参数(例如在 C++ 中使用下划线),但我想避免这种情况。

有没有其他选择?

提前致谢!

4

1 回答 1

5

完全一样吗?然后只需将其声明为val(或var):

class A(val i: Int) {}

不完全一样吗?然后你必须使用两个名字。

于 2012-06-01T18:51:32.100 回答