我有java界面
public interface LifecycleRegistryOwner extends LifecycleOwner {
@Override
LifecycleRegistry getLifecycle();
}
和Kotlin类实现了这个接口,只有
才会非常好val lifecycle by lazy {
val result = LifecycleRegistry(this)
result
}
但是编译器说它是偶然的覆盖。有没有办法告诉它是出于意图?
我目前的实施
class PartnerSettingsActivity :AppCompatActivity(),LifecycleRegistryOwner {
private val registry = LifecycleRegistry(this) //<< hate this class-wide val
override fun getLifecycle(): LifecycleRegistry = registry
答案 0 :(得分:0)
你不能告诉Kotlin编译器接受这种&#34;意外覆盖的风险&#34;因为在字节码级别上会有冲突的构造。您也不能使用@JvmName来修改字节码中生成的字段名称,因为它不适用于委托,而懒惰是委托。