Java 17的密封类新特性有哪些详细说明?
- 内容介绍
- 相关推荐
本文共计1475个文字,预计阅读时间需要6分钟。
Java 17发布的新特性Sealed Classes经历了两个Preview版本(JDK 15的JEP 360、JDK 16的JEP 397),最终定稿于JDK 17的JEP 409。Sealed Classes有两种主流翻译:密封类、封闭类。许多开发者更喜欢前者。
Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360、JDK 16中的JEP 397),最终定稿于JDK 17中的JEP 409。Sealed Classes有两种主流翻译:密封类、封闭类。个人喜欢前者多一些,所以在本文中都称为密封类。其实Sealed Classes的其他许多语言中并不是什么新鲜事物,C#、Scala等高级语言中都有类似的名称,但意义和作用各不相同。下面就来一起认识一下Java 17中的Sealed Classes。
密封类的作用在面向对象语言中,我们可以通过继承(extend)来实现类的能力复用、扩展与增强。但有的时候,有些能力我们不希望被继承了去做一些不可预知的扩展。所以,我们需要对继承关系有一些限制的控制手段。而密封类的作用就是限制类的继承。
本文共计1475个文字,预计阅读时间需要6分钟。
Java 17发布的新特性Sealed Classes经历了两个Preview版本(JDK 15的JEP 360、JDK 16的JEP 397),最终定稿于JDK 17的JEP 409。Sealed Classes有两种主流翻译:密封类、封闭类。许多开发者更喜欢前者。
Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360、JDK 16中的JEP 397),最终定稿于JDK 17中的JEP 409。Sealed Classes有两种主流翻译:密封类、封闭类。个人喜欢前者多一些,所以在本文中都称为密封类。其实Sealed Classes的其他许多语言中并不是什么新鲜事物,C#、Scala等高级语言中都有类似的名称,但意义和作用各不相同。下面就来一起认识一下Java 17中的Sealed Classes。
密封类的作用在面向对象语言中,我们可以通过继承(extend)来实现类的能力复用、扩展与增强。但有的时候,有些能力我们不希望被继承了去做一些不可预知的扩展。所以,我们需要对继承关系有一些限制的控制手段。而密封类的作用就是限制类的继承。

