Kotlin基础8

本文介绍了Kotlin中Map的几种获取值的方法,如getValue、getOrElse和getOrDefault,以及遍历Map的forEach。此外,还详细讲解了Kotlin中的属性访问、计算属性、构造函数(主构造函数、次构造函数)和默认参数的使用,以及初始化块和初始化顺序的重要性。
摘要由CSDN通过智能技术生成

读取Map的值
>[]取值运算符,读取键对应的值,如果键不存在就返回null>getValue,读取键对应的值,如果键不存在就抛出异常>getOrElse,读取键对应的值,或者使用匿名函数返回默认值>getOrDefault,读取键对应的值,或者返回默认值

遍历
>forEach遍历Map

可变集合
≥通过mutableMapOf创建可变的Map
getOrPut键值不存在,就添加并返回结果,否则就返回已有键对应的值

field
≥针对你定义的每一个属性,Kotlin都会产生一个field、一个getter、以及一个setter,field用来存储属性数据,你不能直接定义field,Kotlin会封装field,保护它里面的数据,只暴露给getter和setter使用。属性的getter方法决定你如何读取属性值,每个属性都有getter方法,setter方法决定你如何给属性赋值,所以只有可变属性才会有setter方法,尽管Kotlin会自动提供默认的getter和setter方法,但在需要控制如何读写属性数据时,你也可以自定义他们。

计算属性
》计算属性是通过一个覆盖的get或set运算符来定义,这时field就不需要了。

主构造函数
≥我们在Player类的定义头中定义一个主构造函数,使用临时变量为Player的各个属性提供初始值,在Kotlin中,为便于识别,临时变量(包括仅引用一次的参数),通常都会以下划线开头的名字命名。

在主构造函数里定义属性

>Kotlin允许你不使用临时变量赋值,而是直接用一个定义同时指定参数和类属性,通常,我们更喜欢用这种方式定义类属性,因为他会减少重复代码。

次构造函数
有主就有次,对应主构造函数的是次构造函数,我们可以定义多个次构造函数来配置
不同的参数组合。

默认参数
>定义构造函数时,可以给构造函数参数指定默认值,如果用户调用时不提供值参,就使用这个默认值。

初始化块
初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构造函数的值是否有效,初始化块代码会在构造类实例时执行。

初始化顺序
主构造函数里声明的属性>类级别的属性赋值
>init初始化块里的属性赋值和函数调用≥次构造函数里的属性赋值和函数调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值