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默认的实现,是可以省略这句代码的。 这两个方法在项目实际应用中,并没有什么用处,这句话我信了。 Loading... 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默认的实现,是可以省略这句代码的。 这两个方法在项目实际应用中,并没有什么用处,这句话我信了。 最后修改:2021 年 04 月 07 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏