zoukankan      html  css  js  c++  java
  • JDK15的密封性

    JEP 360:Sealed Classes(Preview)密封的类和接口(预览)

    通过密封的类和接口来增强 Java 编程语言,这是新的预览特性。
    用于限制超类的使用,密封的类和接口限制其它可能继承或实现它们的其它类或接口。

    这个特性的目标包括——允许类或接口的开发者来控制哪些代码负责实现,提供了比限制使用超类的访问修饰符声明方式更多选择,并通过支持对模式的详尽分析而支持模式匹配的未来发展。

    在Java中,类层次结构通过继承实现代码的重用,父类的方法可以被许多子类继承。
    但是,类层次结构的目的并不总是重用代码。有时,其目的是对域中存在的各种可能性进行建模,例如图形库支持的形状类型或金融应用程序支持的贷款类型。当以这种方式使用类层次结构时,我们可能需要限制子类集从而来简化建模。

    具体使用:
    因为我们引入了sealed class或interfaces,这些class或者interfaces只允许被指定的类或者interface进行扩展和实现。

    使用修饰符sealed,您可以将一个类声明为密封类。密封的类使用reserved关键字permits列出可以直接扩展它的类。子类可以是最终的,非密封的或密封的。

    演示结果如下:

    image-20201020231136688

    image-20201020231517912


    image-20201020231725124

  • 相关阅读:
    G a+b+c+d=?
    H Kuangyeye and hamburgers
    python 实现加法
    高精度板子
    angular项目一
    angular大牛的博客
    autocomplete
    angular的 表单
    快捷方式控制台调试each这种方法的时候怎么停
    自己练习的一些应该熟记的代码
  • 原文地址:https://www.cnblogs.com/dalianpai/p/13849815.html
Copyright © 2011-2022 走看看