报告没有属性并且可被转换为 sealed 类的 sealed 接口。

当您希望确保单一继承层次结构或计划未来添加状态(属性)时,可以优先选择 sealed 类而非 sealed 接口。

示例:


sealed interface Result<out T : Any>
class Success<T : Any>(val result: T) : Result<T>
class Error(val throwable: Throwable) : Result<Nothing>

在应用快速修复后:


sealed class Result<out T : Any>
class Success<T : Any>(val result: T) : Result<T>()
class Error(val throwable: Throwable) : Result<Nothing>()