【发布时间】:2020-02-20 12:24:01
【问题描述】:
以下代码报告property must be initialized or be abstract错误。
// MyApi.kt
interface MyApi {
...
}
// MyFetch.kt
class MyFetch {
private val myApi: MyApi // <- this line
...
}
在可变变量中可以使用lateinit语句,但是在val中应该如何预定义呢?
【问题讨论】:
-
把它放在构造函数中,以便在初始化的类中传递。
-
@Tenfour04 是否意味着我需要在
init {}构造中使用 myApi? -
看我的回答..
-
@ccd 这意味着您需要在 myApi 属性上实现接口才能初始化 MyFetch 类?或者进行某种委托。