gpt4 book ai didi

android - kotlin 中的 init 方法取决于变量的顺序和 init 方法声明

转载 作者:搜寻专家 更新时间:2023-11-01 07:41:42 25 4
gpt4 key购买 nike

在 kotlin 中,对于任何具有 init 方法的类(我在 ViewModel 中找到了这个示例)为什么以下有效:

val variable1 = "nothing"

fun example1() {
variable1
variable2
}

val variable2 = "nothing"

我声明变量和方法的顺序没有区别,我仍然可以在方法内部访问 variable2,但是,

val variable1 = "nothing"

val variable2 = "nothing"

init {
variable1
variable2
variable3
}

val variable3 = "an issue"

报错说 variable3 必须初始化?看到这张图片,我知道没有使用 example1(),但如果我在某处使用它也没有什么区别 enter image description here

最佳答案

感谢 CommonsWare 指出这一点。

初始化 block 不是构造函数,它们只是用于初始化值,你甚至可以有多个初始化 block 。但是,初始化 block 不是函数,因此它取决于声明和使用变量的顺序

关于android - kotlin 中的 init 方法取决于变量的顺序和 init 方法声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57128445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com