val
和var
是可以用来声明变量(和属性)的两个关键字。区别在于,usingval
提供了一个只读变量,与final
Java中使用关键字相同。
var x = 10 // int x = 10;
val y = 25 // final int y = 25;
val
Kotlin中的约定是在任何时候都可以使用,并且只有在var
知道要在某个地方更改其值时才应该使用a 。
internal
是Java中不存在的可见性修饰符。它标记了一个类的成员,该成员仅在其所在的模块中可见。这与package
Java中的默认可见性给您类似的可见性(这就是为什么转换器在转换具有package
可见性的成员时会使用它)。但是,并不完全相同。另外,请注意,这不是Kotlin中的默认可见性,默认情况下,类及其在Kotlin中的成员是public
默认的。
文档中还有关于可见性修饰符的更多信息。