首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kotlin中的密封类和密封接口的区别是什么

kotlin中的密封类和密封接口的区别是什么
EN

Stack Overflow用户
提问于 2021-09-08 09:22:50
回答 1查看 2.2K关注 0票数 15

随着Kotlin的推出,1.5被引入了sealed interface。即使我知道类和接口之间的区别,我也不清楚在sealed class上使用sealed interface的最佳实践和好处是什么

即使是简单的情况,我现在也应该一直使用interface吗?还是将逐个案例?

谢谢

Obs:没有找到类似的问题,只是关于sealed classes

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-08 13:08:14

选择使用密封类而不是接口的一个主要原因是,如果存在您不希望为public的公共属性/函数。接口的所有成员始终是公共的。

可以使用扩展函数/属性在接口上绕过成员必须为public的限制,但前提是它不涉及非公开存储状态。

另外,密封接口更灵活,因为它们允许子类型是其他类的子类、枚举类或多个密封接口/类层次结构的子类型。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69100358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档