期待在Kotlin的成员声明

时间:2017-06-05 12:15:17

标签: kotlin

我想在构造函数中分配我的类变量,但是我得到一个期望成员声明的错误

 class YLAService {


var context:Context?=null

class YLAService constructor(context: Context) {
    this.context=context;// do something

}}

1 个答案:

答案 0 :(得分:13)

在Kotlin中你可以使用像这样的构造函数:

class YLAService constructor(val context: Context) {

}

更短:

class YLAService(val context: Context) {

}

如果您想先进行一些处理:

class YLAService(context: Context) {

  val locationService: LocationManager

  init {
    locationService = context.getService(LocationManager::class.java)
  }
}

如果你真的想使用辅助构造函数:

class YLAService {

  val context: Context

  constructor(context: Context) {
    this.context = context
  }

}

这看起来更像Java变体,但更详细。

请参阅Kotlin reference on constructors