我希望在不使用可变变量的情况下访问私有构造函数中的参数:
class Class1 {
val strArgPublic = // get strArg argument from the private constructor. How?
private def this(strArg: String) = {
//.....
}
}
我不仅希望获得strArg
并将其返回,而是稍微更改一下并返回一个新的修改过的副本。
我该怎么做?
答案 0 :(得分:3)
您班级中不仅有私人构造函数。还有一个公共构造函数。您应该在公共构造函数之后确定strArgPublic
的值。如果没有公共构造函数,你应该像这样定义你的类:
class Class1 private(strArg: String) {
val strArgPublic = transform(strArg)
}
如果应该有一个无参数的公共构造函数,你可以将其定义为辅助构造函数:
class Class1 private(strArg: String) {
val strArgPublic = transform(strArg)
def this() = this("default")
}