kotlin语法
类(像dart一样可空,所以一切为对象)
一类(摒弃类java的基础类型,都是对象类型)
- Int
- Long
- short
- Byte
- Double
- Float
- Char
- Boolean
二类(同java)
- class(类为单extends,多实现implement)
- abstract class(支持抽象方法的类)
- 接口
非空安全
定义
1 | var test? = null // // 不需要显示定义? |
非空判断
- 安全调用运算符(?.)
- 强制解包(!!.)
- Elvis运算符(?:)
操作符
==和equals
1 | 同java的equals |
===
1 | 同java的 == |
构造方法(可以重载)
- 主构造方法
1
2
3
4
5// 主构造方法
class Test(userId:String,userName:String){
var userId: String? = null
var userName: String? = null
} - 从构造方法
1
2
3
4
5
6
7
8class Test(userId:String,userName:String){
var userId: String? = null
var userName: String? = null
// 从构造方法,必须调用主构造方法
constructor(userId:String) : this(userId,"") {
this.userId = userId
}
}
析构函数(无)
kotlin的静态变量
1 | companion object{ |
类定义
1 | class Test{ |
定义枚举
1 | // 需要在enum后面加class |
变量定义
1 | class Test{ |
方法定义
1 | class Test{ |
单例实现
1 | class SSlContextProvider private constructor() { |
异步实现
1 | // 同步实现(kotlin没有关键字synchronized和volatile,但是有synchronized注解) |
Coroutines(协程)
可以像同步顺序执行一样处理异步编程。