在java语言中,我们可以在一个方法中扩展当前的作用域,如果它被一个形参所隐藏,就用this
引用变量。一个典型的例子是我们在构造函数中所做的:
class A {
int i;
A(int i) { this.i = i; }
}
那么,Scala中有没有类似的技巧呢?例如,我有一个这样的定义:
class A(i: Int) {
val i = i; // ?
}
一个简单的解决方案是将其中一个参数重命名为其他名称(比如在C++中使用下划线),但我希望避免这种情况。
有什么替代方案吗?
提前感谢!
发布于 2012-06-02 02:51:32
它是完全一样的吗?然后只需将其声明为val
(或var
):
class A(val i: Int) {}
这不是完全一样的吗?那你就得用两个名字。
https://stackoverflow.com/questions/10855715
复制相似问题