抽象类可以在 Kotlin 中包含非抽象类参数吗?

时间:2021-06-09 02:34:42

标签: 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
}

0 个答案:

没有答案