rle*_*ndi 1 java constructor scala
在Java中,我们可以在一个方法中扩展当前作用域,以便在变量this被形式参数隐藏时引用变量.一个典型的例子是我们在构造函数中做的事情:
class A {
int i;
A(int i) { this.i = i; }
}
Run Code Online (Sandbox Code Playgroud)
现在,Scala中有类似的技巧吗?例如,我有这样的定义:
class A(i: Int) {
val i = i; // ?
}
Run Code Online (Sandbox Code Playgroud)
一个简单的解决方案是将其中一个参数重命名为其他参数(比如在C++中使用下划线),但我想避免这种情况.
这有什么替代方案吗?
提前致谢!
它完全一样吗?然后只需声明它val(或var):
class A(val i: Int) {}
Run Code Online (Sandbox Code Playgroud)
它不完全一样吗?然后你将不得不使用两个名字.