java - Scala 方式来初始化成员?

标签 java scala constructor

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

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

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

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

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

有什么替代方案吗?

提前致谢!

最佳答案

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

class A(val i: Int) {}

不完全一样吗?那么你将不得不使用两个名字。

关于java - Scala 方式来初始化成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10855715/

相关文章:

java - 如何添加一个扩展JPanel的类,并显示自己的面板和按钮?

java - 如何在 Java 中将属性映射到 Integer Mapstruct

java - Vaadin-Maven-Plugin 找不到目标

java - 为什么子类默认调用super()?

c++ - 初始化列表作为类构造函数的参数

java - 黑客可以更改模型属性吗? Spring , java

java - 在 Scala/Java 中使用 AtomicBoolean 进行数据库锁定安全吗?

scala - 为什么Scala无法找到org.apache.commons.lang包?

Scala - "companion contains its own main method, which means no static forwarder can be generated"的含义

c++ - 带冒号的构造函数