2.10Java类型之密封(Sealed)类和密封(Sealed)接口

1.密封父类或父接口声明

声明一个类为密封类,只有指定的类才可以继承该类。

sealed class A permits B, C {}

声明一个接口为密封接口,只有指定的接口可以继承该接口,只有指定的类可以实现该接口。

sealed interface I permits C, D {}

2.密封子类或子接口继承

所有子类或子接口必须显性或隐性地用关键字 final,sealed或non-sealed 修饰。

non-sealed class B extends A {}  
non-sealed class C extends A {}
non-sealed interface C extends I {}  
non-sealed interface D extends I {}

3.密封子类实现

non-sealed class C implements I {}  
non-sealed class D implements I {}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javalang/16201.html

(0)
上一篇 2021年1月10日 02:48
下一篇 2021年1月11日 02:51

相关推荐

  • 1.6Java语言的常量(Final Variable)

    1.常量声明 final修饰符对于原始类型,一旦被赋值就不能再更改。 final修饰符对于引用类型,一旦被赋值,限定此常量必须一直引用同一个对象,这对于引用类型(不可变类型)尤其有用,但对于引用类型(可变类型)就可以在不修改引用同一个对象的情况下,修改了值从而破坏了常量的特性。 2.常量分类 2.1成员常量 名称 修饰…

    Java语言教程 2020年11月6日
    0160
  • 1.1Java语言的注释(Comment)

    1.单行注释 2.多行注释 3.文档注释 文档注释可以用来自动地生成API帮助文档。

    Java语言教程 2020年11月1日
    01.3K0
  • 1.7Java语言的方法(Method)

    1.方法声明 2.方法分类 名称 修饰 类方法 用 static 修饰 实例方法 无 static 修饰 3.参数分类 名称 修饰符 值参数 无 默认值参数 无 可变参数 在类型后紧挨着加三个点(…)。 4.参数传递方式 实参的数量需与形参的数量相同,虽然有时候看似没赋予实参,实际上是提供了null值或类型的默认值…

    Java语言教程 2020年11月7日
    07000

发表回复

登录后才能评论