我正在学习Kotlin。在Kotlin中,val
、var
和internal
相比Java有何不同?
在Java中:
RadioGroup radioGroup;
RadioButton button;
Button submit;
转换后显示:
internal var radioGroup: RadioGroup
internal var button: RadioButton
internal var submit: Button
val
和var
是你可以用来声明变量(和属性)的两个关键字。区别在于使用val
会给你一个只读变量,这与Java中使用final
关键字相同。
var x = 10 // int x = 10;
val y = 25 // final int y = 25;
在 Kotlin 中,约定俗成的做法是尽可能使用 val
,只有在确定某个值需要更改时才将其声明为 var
。
internal
是一种可见性修饰符,在 Java 中不存在。它标记了类的成员仅在所在模块内可见。这与 Java 中默认的 package
可见性相似(因此,当转换具有 package
可见性的成员时,转换器会使用它)。但是,这并不完全相同。请注意,这不是 Kotlin 的默认可见性修饰符,Kotlin 中的类及其成员默认为 public
。
有关可见性修饰符,请参阅文档。
val
和var
。val
不能被重新赋值,它作为一个最终变量。val x = 2
x=3 // cannot be reassigned
var x = 2
x=3 // can be reassigned
val
更像是一个final
修饰符。 - Alstonconst
过来,这非常令人惊讶。 - Antonio