1、数据类;
java中会有定义类如bean、entity、model,表示是一个数据模板类。kotlin使用data class表示java中的数据模板类。
【案例】
Student.kt
MainActivity.kt
日志:
2、单例;
在应用程序中只有一个类的实例。例如android-Application只有一个。例如Okhttp只能有一个队列。
使用object关键词修饰类,构成单例。
【案例】
Application.kt
MainActivity.kt
日志:
3、伴生对象;
一个类使用关键字“companion”来修饰,作用是代替java中static。
什么时候使用companion?当某某类不需要实例化,只需要提供逻辑函数时使用。
例如:加载环境变量;保存数据到磁盘这个方法的调用,不需要类实例化。通常写在一个类的内部。
语法:
class XXX{
companion object 伴生对象名称{
fun xxxFunction(){
具体代码
}
}
}
步骤:
(1)定义伴生对象
(2)使用伴生对象
类名.伴生对象名称.成员名称 或者 类名.成员名称
【案例】
Helper.kt
MainActivity.kt
日志:
4、密封类;
枚举类解决的是变量值在固定的取值范围;(多个实例取其一)
密封类解决的是类的类型在固定的取值范围。(多个类类型取其一)
语法:
sealed class XXX{
class AAA:XXX(){}
class BBB:XXX(){}
class CCC:XXX(){}
}
【案例】
UIop.kt
activity_main2.xml
MainActivity2.kt
效果: