kaixueio/kaixue-docs

关于kotlin-1-基本语法中变量声明有不同意见

Taonce opened this issue · 3 comments

存在不同意见,作者提到valvar的区别在于是否只能赋值一次,个人愚见,valvar最主要的区别是在于能否重写set()get()方法。val是不可重写set()方法,只可重写get(),而var都可重写。

hmm 你和作者说的其实是一个意思,或许我换句话表达可以满足你们的想法
var 可变变量:随时可变
val 只读变量:只能在初始化时改变。

感谢提出异议。

个人认为:

  • set/get的最终目的是为了取值和赋值。
  • val 不能重写 set() 从表象来看,就是只能一次赋值,

@CnPeng 非常感谢,我的疑惑解开了