val是只能读取的,而var是可以写入和读写的。
例子:
class name{
//构造的属性
/*
private val name:String?="小明"
private var age:Int?=25
private val sex:String="男"
*/
val name:String?="小明"
var age:Int?=25
val sex:String="男"
}
fun main(){
//主方法入口
var name_main=name()
println("姓名=>${name_main.name}")
}
main()
解析:在主方法里面实例化一个叫name的类,分给变量name_main,在打印字符串中用$操作来获取name_main中的变量name。
这就是属性。
声名属性时按照自己需求使用val和var,也可以使用const将其转为常量,即 const val name:String="测试"
只读属性不允许setter。
使用了val修饰的属性,不能有setter().
不管是val还是var修饰的属性,只要存在getter(),其值再也不会变化
使用var修饰的属性,可以省略掉getter(),不然setter()毫无意义。当然get() = field除外。而get() = field是Koltin默认的实现,是可以省略这句代码的。
这两个方法在项目实际应用中,并没有什么用处,这句话我信了。