kotlin注意事项 -- 属性初始化

59 阅读1分钟

var currentPosition = -1  
  
init {
    currentPosition // currentPosition = -1
}

 
init {
    currentPosition // currentPosition = 0 还未初始化为-1,使用默认值0
}

var currentPosition = -1  

当属性定义时,他相对于init的位置会影响他的结果

他们对应的java代码大致为


int currentPosition;
  
init {
    currentPosition = -1;
    currentPosition // currentPosition = -1
}

int currentPosition;
init {

    currentPosition // currentPosition = 0 还未初始化为-1,使用默认值0
    currentPosition = -1;
}