kotlin - 抽象类可以在 Kotlin 中包含非抽象类参数吗?
问题描述
代码 A 来自文章https://developer.android.com/training/dependency-injection/hilt-android
在我看来,抽象类不能包含非抽象类。
但是函数abstract fun bindAnalyticsService( analyticsServiceImpl: AnalyticsServiceImpl): AnalyticsService
接受一个非抽象类参数,为什么?
代码 A
interface AnalyticsService {
fun analyticsMethods()
}
// Constructor-injected, because Hilt needs to know how to
// provide instances of AnalyticsServiceImpl, too.
class AnalyticsServiceImpl @Inject constructor(
...
) : AnalyticsService { ... }
@Module
@InstallIn(ActivityComponent::class)
abstract class AnalyticsModule {
@Binds
abstract fun bindAnalyticsService(
analyticsServiceImpl: AnalyticsServiceImpl
): AnalyticsService
}
解决方案
推荐阅读
- sql - 分组依据 - SQL Oracle 错误:无效项目
- sql - 插入或更新到主表后插入另一个表的复合触发器
- reactjs - 自定义挂钩不更新组件
- tableau-api - 如何将 tableau desktop 中创建的参数与 SQL Server 中存储的存储过程的输入参数进行映射?
- c++ - 使用 map cpp 创建成员变量
- powerbi - 如何将日期切片器用作筛选器 Power BI 中的参数
- python - 将抓取的日期时间转换为时间
- java - 如何在 Postgres 中更新行数
- javascript - 产品在我的购物车中的显示问题
- java - 清单合并失败并出现多个错误,请参阅 Android Studio 中的日志错误