数据类、密封类和枚举类
数据类
在class前面加上data前缀,将会创建一个数据类。
编译器会自动的从主构造函数中根据所有声明的属性提取以下函数:
equals() / hashCode()
toString() 格式如 “User(name=John, age=42)”
componentN() functions 对应于属性,按声明顺序排列
copy() 函数
copy函数示例:
1 | data class User(val name: String, val age: Int) |
密封类
密封类用来表示受限的类继承结构。
每个枚举常量只存在一个实例,而密封类 的一个子类可以有可包含状态的多个实例
1 | sealed class Expr |
他的子类都会被作为内嵌类的属性使用。他一般都配合when使用。
枚举类
实现一个类型安全的枚举。其中每个常量用逗号分隔,每个美剧常量都是一个对象。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小贺同学的blog!
评论