Kotlin:使用宗地化时的构造函数

时间:2019-04-04 15:18:17

标签: kotlin constructor parcelable

我正在创建一个小的testapp来学习kotlin的方法,但是Parcelable参数存在一些问题。

我创建了一个抽象类:

abstract class Goal(var number: Int, var name: String) : Parcelable

现在我正尝试用新的类来扩展该类,但是我还遇到了一些构造问题:

@Parcelize
class OperationalGoal(number: Int, name: String, var description: String) : Goal(number, name)

它同时抱怨numbername,我需要添加valvar。但是我已经在我的超类中定义了属性...

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

要使@Parcelize工作,您需要open设置超级属性并在子级中覆盖它们:

abstract class Goal(open var number: Int, open var name: String) : Parcelable

@Parcelize
class OperationalGoal(override var number: Int, override var name: String, var description: String) : Goal(number, name)