【发布时间】:2020-06-03 11:47:44
【问题描述】:
我有一个扩展 Vehicle 类的 Car 类,我将在车辆类中注入一些属性。
示例 已编辑
abstract class Vehicle {
@Inject
lateinit var default: Default
}
class Car @Inject constructor(): Vehicle() {
}
在我的代码中一切正常,
但我需要知道的一件事是匕首是如何注入 基类或其层次结构中的属性?
这是正确的方法吗 注射?
谁能澄清一下?
【问题讨论】:
-
我认为您的
lateinit var字段将未初始化 -
@EpicPandaForce 是的,它没有初始化。
-
@EpicPandaForce 我编辑了我的示例,我使用了构造函数注入,它运行良好。
-
通常你不应该使用字段注入,除非被某些框架强制,否则总是首选构造函数注入。
-
@Stack 你可以这样做:
class Base(val dependency: Dependency),class Car @Inject constructor(dependency: Dependency): Base(dependency)
标签: android kotlin dagger-2 dagger