Kotlin 密封类

2024 年 8 月 29 日 | 阅读 2 分钟

密封类是一个限制类层次结构的类。可以使用关键字 "sealed" 在类名前声明一个类为密封类。它用于表示受限的类层次结构。

当对象具有来自有限集合的其中一种类型,但不能具有任何其他类型时,可以使用密封类。

密封类的构造函数默认是私有的,并且不能被允许为非私有。

密封类的声明

密封类的子类必须在与密封类本身相同的文件中声明。

密封类通过在编译时限制类型集来确保类型安全性的重要性。

密封类隐式地是一个不能实例化的抽象类。

带有 when 的密封类

密封类通常与 when 表达式一起使用。由于密封类的子类具有自己的类型,因此充当一种情况。因此,密封类中的 when 表达式 涵盖了所有情况,避免添加 else 子句。

例如

输出

Circle area is 78.5
Square area is 25
Rectagle area is 20