Dependency injection 如果模块是抽象类或接口,它们之间有什么区别吗?

Dependency injection 如果模块是抽象类或接口,它们之间有什么区别吗?,dependency-injection,dagger,dagger-hilt,Dependency Injection,Dagger,Dagger Hilt,我有一个问题,也许有经验的人可以让我更清楚一些。我已经将Hilt模块作为接口或抽象类编写。这两者之间有实际区别吗?例如,我已经在我的应用程序的Hilt中更改了以下模块,但它仍然有效 @Module @InstallIn(ViewModelComponent::class) abstract class LocalModules { @Binds @ViewModelScoped abstract fun bindTemporaryImageFileFactory(fac

我有一个问题,也许有经验的人可以让我更清楚一些。我已经将
Hilt
模块作为接口或抽象类编写。这两者之间有实际区别吗?例如,我已经在我的应用程序的
Hilt
中更改了以下模块,但它仍然有效

@Module
@InstallIn(ViewModelComponent::class)
abstract class LocalModules {

    @Binds
    @ViewModelScoped
    abstract fun bindTemporaryImageFileFactory(factory: TemporaryImageFileFactoryImpl): TemporaryImageFileFactory

}

@Module
@InstallIn(ViewModelComponent::class)
interface LocalModules {

    @Binds
    @ViewModelScoped
    fun bindTemporaryImageFileFactory(factory: TemporaryImageFileFactoryImpl): TemporaryImageFileFactory
}