Kotlin
2023-11-19 22:20:15 10 举报
AI智能生成
Kotlin
作者其他创作
大纲/内容
变量
val
定义一个常量
相当于java的final
var
定义一个变量
为什么要设置val,我们在大多数场景下的使用原则应该是能用常量就用常量,需要<br>用变量的时候再使用变量,而java的final无法让我们养成这种习惯,那么Kotlin就<br>设置了val让我们多使用常量
为什么不需要声明类型
Kotlin提供了强大的类型推导机制,会自动推到类型
定义变量的格式
val 变量名: 变量类型
Kotlin抛弃了基本数据类型,所有的数据都是对象
int对应Int
函数
语法糖
对于一行的函数
可以省略换行直接用=
可以不加return
逻辑控制
if语句
if语句有返回值,返回值是每个条件的最后一行的内容
when语句
可以直接加箭头
匹配值 -> {执行逻辑}
也可以直接将判断过程写在when语句里
循环语句
while语句
for循环
没有fori结构
for-in循环
0..10表示从0到10的闭区间
0 until 10表示从0到10左闭右开
0..10 step 2<br>表示从0 到 10每次 + 2
10 downTo 1表示从10 到 1闭区间
类与对象
构造函数
主构造函数
写在类名后面的括号里,就是他的参数
主构造函数主要是相当于我们之前java类中子类的构造函数都需要在第一行super调用父类<br>的构造函数,那么他觉得这样很烦,那么主构造函数在设置的时候就直接在声明继承的时候<br>就写上需要调用哪个父类的构造方法
如果是父类的有参构造,那么在主构造函数写父类参数名: 参数类型就可以了,不需要指定是val还说var<br>他会沿用父类的定义
主构造函数默认没有方法体,那么要想加逻辑的话使用init代码块
也允许没有主构造函数的情况
继承时加的括号的意思就是我们主构造函数调用的super()父类构造函数,那么如果我们没有主构造函数是<br>也自然不需要加括号,次构造函数在调用时就使用super()调用父类构造函数
次构造函数
次构造函数必须直接或者间接的调用主构造函数 也就是:后面通过this()调用自己的其他构造函数,然后在这个时候加上默认值
继承
类被继承以后子类使用父类的哪个构造方法直接写上
接口
和java一样,然后可以有默认值和jdk1.8一样
面向接口编程
Study是一个接口,Student类实现了这个接口
数据类
使用data class可以很方便的使用Kotlin封装好的数据类
单例模式
使用object class可以实现单例类
Lambda编程
集合的创建和遍历
创建不可变集合
listOf()
setOf()
mapOf()
其中to不是关键字而是一个infix函数
创建可变集合
mutableListOf()
mutalbeSetOf()
mutableMapOf()
map
map不推荐使用putget方法添加获取元素
推荐使用数组下标的形式获取
<br>
lambda
map方法将每一个元素映射成另一个值
filter进行集合内容的过滤
any all进行内容匹配
any表示集合中是否有匹配的
all表示集合中是否全部匹配
0 条评论
下一页