【问题标题】:how to pass parameter in java class like kotlin如何在像kotlin这样的java类中传递参数
【发布时间】:2021-02-22 04:48:06
【问题描述】:

我正在尝试在旧的 java 项目中实现单元测试,但尝试从 Kotlin 课程中学习它,因为现在大多数 android 教程都在 Kotlin 中,课程以这种方式使用 Kotlin 类,我如何使用 java 做同样的事情

@Module
open class ApiModule {
 @Provides
  fun provideApi(): Api {
    return Retrofit.Builder()
      .baseUrl(Constants.BASE_URL)
      .addConverterFactory(GsonConverterFactory.create())
      .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
      .build()
      .create(Api::class.java)
  }
@Provides
  open fun provideApiService(): ApiService {
     return ApiService()
  }
}

问题是如何在java中生成下一个类ApiModuleTest?

class ApiModuleTest(val mockService: ApiService): ApiModule() {
   override fun provideApiService(): ApiService {
      return mockService
    }
}

【问题讨论】:

  • 看来你得先学点 Kotlin...

标签: java android unit-testing kotlin


【解决方案1】:

这个定义

class ApiModuleTest(val mockService: ApiService): ApiModule() {
    override fun provideApiService(): ApiService {
        return mockService
    }
}

大致翻译为

class ApiModuleTest extends ApiModule {
    final ApiService mockService;

    ApiModuleTest(ApiService mockService) {
        this.mockService = mockService);
    }

    @Override
    public ApiService provideApiService() {
        return mockService;
    }
}

参考见:

【讨论】:

    猜你喜欢
    • 2020-07-22
    • 2021-09-18
    • 2017-06-05
    • 1970-01-01
    • 2021-01-24
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-19
    相关资源
    最近更新 更多