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月9日 12:52
下一篇 2021年1月11日 08:22

相关推荐

  • 1.5Java语言的变量(Variable)和常量(Final Variable)

    1.变量声明和初始化 对于局部变量,如果可以从变量的初始值推断出它的类型,可以使用var关键字声明而无须指定类型。 2.变量分类 2.1成员变量 名称 类 接口 静态变量 用 static 修饰 用 或 不用 static 修饰 实例变量 无 static 修饰 —————— 2.2局部变量 名称 描述 数组元素 没有…

    Java语言教程 2020年11月5日
    09390
  • 2.4Java引用类型之泛型(Generic)

    1.泛型类或接口 类型变量放在类名或接口名的后面。 2.泛型方法 类型变量放在修饰符的后面,并在返回类型的前面。 在方法中也可以使用泛型,即方法的参数类型或返回值类型,可以用类型参数表示。 4.通配符泛型类型 4.1无限定通配符 无限定通配符?的含义为Object类型。 4.2协变(Covariance) 类型参数可以…

    Java语言教程 2021年1月4日
    08990
  • 2.11Java语言的可访问性(Accessibility)

    同一个类中 同一个包中 子类中 全局范围内 public 有 有 有 有 protected 有 有 有 —————— default 有 有 —————— —————— private 有 —————— —————— —————— 注意:default是指不包含任何可访问性修饰符。

    Java语言教程 2021年1月11日
    05240

发表回复

登录后才能评论