而不是Kotlin的意外覆盖

我有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 

您不能告诉Kotlin编译器接受这种“意外覆盖”的风险,因为在字节码级别上会存在冲突的结构。 既不能使用@JvmName来修改在字节码中生成的字段的名称,因为它不能与委托一起工作,懒惰是一个委托。