所以我有一个看起来像这样的 Kotlin 类:
class MyClass {
var myString: String = ""
set(value) {
field = value
doSomethingINeed()
}
constructor(myString: String) {
this.myString = myString
}
}
但是,Android Studio 警告我可以将其用作默认构造函数。当我选择它时,它会将其更改为:
class MyClass(var myString: String)
现在我失去了覆盖 setter 的机会,因为如果我创建一个名为的方法,setMyString()
我会得到一个编译器错误。
如果该字段是默认构造函数的一部分,是否有办法覆盖 setter,或者我是否必须使用选项 1 并忽略我收到的警告?