您当前的位置: 首页 >  Java

梁云亮

暂无认证

  • 3浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java15:密封类 sealed class

梁云亮 发布时间:2021-10-09 16:49:17 ,浏览量:3

原理

默认情况下,只要类没有使用final修饰符修饰,那么任何类都可以从该类继承。从Java 15开始,Java允许使用sealed修饰类,并通过permits明确指定能够从该class继承的子类。

示例
public abstract sealed class Shape permits Ellipse, Rectangle {
    //abstract void fun();
}
final class Ellipse extends Shape {
}
non-sealed class Rectangle extends Shape {
}

//Shape是一个密封类,它不允许有Ellipse和Rectangle之外的其它子类
final class Triangle extends  Shape{ //报错
}
//final修饰的类不能作为父类
class Circle extends Ellipse{ //报错
}
//sealed修饰的类必须得有子类
sealed class Square extends Rectangle{ //报错
}
关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0483s