Kotlin(2.7)密封类

来源:互联网 发布:知乎 济南血液病医院 编辑:程序博客网 时间:2024/04/30 00:07

2-知识点汇总:

1、密封类的作用

当一个值必须是一群限定类型中某个类型时,密封类可以表示限制型类的结构。在一定意义上,是枚举类的扩展。

2、密封类和枚举的区别

枚举常量作为单例实体只能存在一个。密封类的子类能有很多实例。

3、密封类要点

  1. 使用sealed修饰符
  2. 密封类的子类必须和密封类在同一个文件中
  3. Kotlin 1.1 前,子类必须嵌套在密封类声明的内部。
  4. 密封类本身是abstract的,因此不能直接实例化,并可以有抽象成员
  5. 密封类默认有private构造器(禁止有非私有的构造器)
  6. 继承自密封类子类的类(间接继承),可以在其他地方使用。

4、 密封类核心好处:

when表达式中使用。密封类有可能列举出所有类型,因此不需要else。但是这仅仅生效在你将when作为表达式(获取值)而不是作为语句的时候。

原创粉丝点击