我有一对定义(确实更多,但这足以说明问题):
sealed class BackButton(val action: ButtonAction) {
abstract fun setup(actionBar: ActionBar, toolbar: Toolbar)
}
class NoBackButton : BackButton({}) {
override fun setup(actionBar: ActionBar, toolbar: Toolbar) {
actionBar.setDisplayHomeAsUpEnabled(false)
}
}
这可以很好地编译,但是皮棉给出了一个错误:
Access to private constructor of class BackButton requires synthetic accessor [SyntheticAccessor]
现在,据我所知,BackButton构造函数实际上是公共的,因此,除了抑制警告之外,我该如何解决该问题?
更新:显然,密封类的构造函数必须是抽象类的私有对象。对我来说,这似乎是一个天生就有缺陷的实现,但这是一个完全不同的问题。