前言
Kotlin简化了结构体的编码工作量。因此,引入了主\次构造函数。
主构造函数:减少了编码的工作量。
次构造函数:提供了多态的特性,同样的,也提供了java中可以定义多个结构体
除了文字版本,也有Xmind版本 github地址
带着问题前进
① 为什么需要 包别名?
② 主、次构造函数分开存在有什么价值?
③ private、protected、internal、public四个权限什么区别
④ 实例的创建,匿名内部类、嵌套类的访问权限如何?
本文从以下几个方面来看
- 包与导入
- 构造函数 //敲黑板,这块莫名的感觉有趣
- 主构造函数
- 次构造函数
- 创建类的实例
- 抽象类
- 嵌套类
- 内部类
- 匿名内部类
- 类的修饰符
包与导入
这部分基本与java一样
要注意 导入部分。支持导入包的别名
import org.example.Message // 现在 Message 可以不用限定符访问
如果出现名字冲突,可以使用 as 关键字
import org.example.Message // Message 可访问
import org.test.Message as testMessage // testMessage 代表“org.test.Message”
构造函数
构造函数,就是在object实例化时会被调用的function。
在Kotlin中,稍微有点不一样。
Kotlin有两种构造函数
- 主构造函数 - 提供简洁的方式去初始化class
- 次构造函数 - 允许你增加一些初始化逻辑
主构造函数
先来个范例
class Person constructor (val firstName: String, var age: Int) {
// class body
}
结构体声明了两个参数,val不可变的firstName,var可变的age。
constructor关键字
constructor&#x