在上一篇 Kotlin学习之路–面向对象 中我们介绍了Kotlin类和接口的使用方法,这些类的使用与Java的有相似的概念,而今天介绍一下Kotlin的Sealed类(密封类),这是在Java中没有的概念
Sealed class(密封类) 是一个有特定数量子类的类,看上去和枚举有点类似,所不同的是,在枚举中,我们每个类型只有一个对象(实例);而在密封类中,同一个类可以拥有几个对象。
Sealed class(密封类)的所有子类都必须与密封类在同一文件中
Sealed class(密封类)的子类的子类可以定义在任何地方,并不需要和密封类定义在同一个文件中
Sealed class(密封类)没有构造函数,不可以直接实例化,只能实例化内部的子类
Sealed class使用场景一
我们先写一个密封类
这时候我们想调用SealedClass里面的Hello方法怎么调用
正确的使用姿势: