记kotlin 中var、val与Java的final

2021-05-06  本文已影响0人  清明捉鬼
Kotlin关键字var 与val

var 读写修饰的关键字
var 可以重写set、get方法
val只读修饰的关键字
val 只能重写get方法
lateinit关键字修饰的var可以不需要进行值初始化,但val必须初始化
val 类似于java 的关键字final

关键字final

现在的final用法只有一个——即以下三种修饰行为所带来的影响

  1. 被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为final。
  2. final类中的成员方法都会被隐式的指定为final方法。
  1. 一个类的private方法会隐式的被指定为final方法。
  2. 如果父类中有final修饰的方法,那么子类不能去重写。
  1. 必须初始化值
    2.被final修饰的成员变量赋值,有两种方式:1、直接赋值 2、全部在构造方法中赋初值。
    3.如果修饰的成员变量是基本类型,则表示这个变量的值不能改变(二次赋值)。
    4.如果修饰的成员变量是一个引用类型,则是说这个引用的地址的值不能修改,但是这个引用所指向的对象里面的内容还是可以改变的。
val与final差别之处目前发现仅在于如下特殊写法

val的特殊写法

 val isTrue:Boolean
        get() {
            return this.dd=="cc"
        }

此处isTrue随着当前对象dd的值改变而改变,但final若初始化值后则无法发生更改

上一篇下一篇

猜你喜欢

热点阅读