超新概念出炉,JDK17的封闭类使用解析

举报
知识浅谈 发表于 2022/08/13 10:25:40 2022/08/13
【摘要】 超新概念出炉,JDK17的封闭类使用解析

在这里插入图片描述

🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云星级博主
📌 擅长领域:全栈工程师、爬虫、ACM算法
💒 公众号:知识浅谈
🔥 联系方式vx:zsqtcc

🤞JDK17的封闭类使用解析总结🤞

正菜来了⛳⛳⛳

🎈封闭类概念

首先:按照往常的使用的类继承的方法,我们可以通过继承(extend)来实现类的能力复用、扩展与增强。但有的时候,有些能力我们不希望被继承了去做一些不可预知的扩展。所以,我们需要对继承关系有一些限制的控制手段。而密封类的作用就是限制类的继承。
其次:针对限制继承的做法,final修饰类,这样类就无法被继承了,JDK17推出了封闭类这个概念可以在不用final的情况下,对类继承做相应的限制。

🎈实战操作

📐第 1 步: 父类Human

使用sealed修饰父类并用permits修饰能继承该类的子类来进行限制。

public sealed class Human  permits Man,Women{
}

📐第 2 步 :子类Man

使用final或者 non-sealed修饰继承封闭父类的子类

public final class Man extends Human { //密封子类 
}
public  non-sealed class Women extends Human permits Girl{//密封子类 
}

📐第 3 步:孙子类

在其父类和祖父类为sealed修饰的情况下,孙子类可以继承父类,并用final或者 non-sealed修饰

public sealed class Women extends Human permits Girl{ //父类
}

public final class Girl extends Women { //孙子类
}

🍚总结

以上就是封闭父类和封闭子类以及封闭祖父类的用法。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。