在Kotlin中,每个在作用域内声明的变量都会遮蔽作用域外同名的变量。这适用于所有作用域级别,例如函数内、类内或代码块中。
有时,变量遮蔽是有用的——例如,用于将我们的代码与系统的其他部分隔离。然而,对于不熟悉它的人来说,这可能会造成混淆。尽管Kotlin允许这样做,但它强烈建议尽可能避免使用遮蔽。如果我们使用像IntelliJ IDEA这样的IDE,我们将很容易发现为我们突出显示的警告。
在本教程中,我们将讨论一些在Kotlin中可能发生遮蔽的情况。
类成员变量遮蔽
这种情况发生在我们有一个类的成员变量,然后我们在函数作用域或代码块内创建了另一个同名的变量:
大约 7 分钟