【发布时间】:2021-03-05 00:59:46
【问题描述】:
我刚开始学习 Kotlin,在浏览文档时遇到了以下 sn-p:
internal class LifecycleObserver : MyLocationListener(
private val context: Context,
private val lifecycle: Lifecycle,
private val callback: (Location) -> Unit)
这来自https://developer.android.com/topic/libraries/architecture/lifecycle#kotlin,大约在页面的一半(以防我遗漏了一些对理解此示例的上下文至关重要的内容)。 LifeCycleObserver 是一个接口,而MyLocationListener 是一个用户定义的类,假设是这种情况,在我看来,教程作者已经从用户定义的类派生了一个接口。这甚至是可能的吗?如果是这样,这种技术/技术集的名称是什么?如果不是......好吧,同样的问题仍然适用。有了正确的术语,我的研究可以比过去几天更有成效。感谢阅读。
【问题讨论】:
-
LifeCycleObserver is an interface看你贴的sn-p,不是接口,是类。类可以从类和接口继承,但接口只能从其他接口继承。 -
我确实同意你的看法;我的困惑主要来自我链接到的网站,因为
LifecycleObserver是一个接口的名称(androidx.lifecycle.LifecycleObserver),而这个 sn-p 来自的站点每隔一次使用这个名称就谈论这个现有的接口.作者为什么要使用LifecycleObserver?或者更确切地说,我没有看到这个选择的意义?
标签: kotlin interface superclass derived-class