开发者社区 问答 正文

在Java 15及以后的版本中,密封类和密封接口是如何工作的?

在Java 15及以后的版本中,密封类和密封接口是如何工作的?

展开
收起
花开富贵111 2024-06-20 11:04:14 108 分享 版权
2 条回答
写回答
取消 提交回答
  • Java 15引入了密封类(Sealed Classes)和密封接口(Sealed Interfaces)的概念,它们限制了哪些类可以扩展或实现这些类或接口。密封类定义了可以成为其子类的类的白名单,增加了代码的可控性和安全性。
    image.png

    密封接口的工作方式类似,但接口不能有实例方法,所以密封接口主要限制其他接口或密封类的实现。可参考
    JDK 15

    2024-06-20 15:36:32
    赞同 1 展开评论
  • 在Java 15及以后的版本中,一个类或者接口可以使用sealed修饰符声明为密封类或者接口,来限制其继承或实现的类。例如,一个抽象密封类Pet可以限制其实现类只能是Dog和Cat。同样,一个密封接口Shape可以限制其实现类为Planet、Star和Comet。密封的类和接口提供了一种机制来限制哪些类可以扩展或实现它们,从而增强了代码的可维护性和安全性。

    2024-06-20 15:36:34
    赞同 3 展开评论
问答分类:
问答地址: