密封类与枚举类 :
① 相同点 ( 类型限制 ) : 从类型种类角度对比 , 类与枚举类类似 , 枚举类的值的集合是受限制的 , 不能随意扩展 ;
② 不同点 ( 对象个数限制 ) : 从每个类型对象个数对比...密封类声明
----
1 . 密封类声明 : 在 class 前添加 sealed 修饰符 , 即可将该类声明为密封类 ;
sealed class Student{}
2 ....子类声明 : 密封类的子类 , 必须定义在密封类的内部 ; ( 1.1 之后的版本可以定义在同一个文件中 )
sealed class Student {
class GoodStudent...密封类子类 :
① 定义在密封类内部 ( 推荐 ) : 密封类的子类建议定义在密封类内部 , 可以兼容所有版本 ;
② 定义在密封类所在文件 : Kotlin 1.1 以后的版本 , 可以将密封类子类定义在密封类声明的同一个文件中..., 如果 when 中列举了所有的密封类子类 , 此时可以不写 else 分支 , 详情看下面的示例代码 ;
IV .