您现在的位置是:首页 > 正文

密封类sealed

2024-04-01 07:18:43阅读 1

密封类

背景:

在 Java 中如果想让一个类不能被继承和修改,这时我们应该使用 final 关键字对类进行修饰。不过这种要么可以继承,要么不能继承的机制不够灵活,有些时候我们可能想让某个类可以被某些类型继承,但是又不能随意继承,是做不到的。Java 15 尝试解决这个问题,引入了 sealed 类,被 sealed 修饰的类可以指定子类。这样这个类就只能被指定的类继承。

JDK15的预览特性:

通过密封的类和接口来限制超类的使用,密封的类和接口限制其它可能继承或实现它们的其它类或接口。

具体使用:

  • 使用修饰符sealed,可以将一个类声明为密封类。密封的类使用保留关键字permits列出可以直接扩展(即extends)它的类。
    举例:
package com.atguigu.java;
public abstract sealed class Shape permits Circle, Rectangle, Square {...}

public final class Circle extends Shape {...} //final表示Circle不能再被继承了

public sealed class Rectangle extends Shape permits TransparentRectangle, FilledRectangle {...}

public final class TransparentRectangle extends Rectangle {...}

public final class FilledRectangle extends Rectangle {...}

public non-sealed class Square extends Shape {...} //non-sealed表示可以允许任何类继承

JDK16二次预览特性

JDK17中转正特性

  • sealed 修饰的类的机制具有传递性,它的子类必须使用指定的关键字进行修饰,且只能是 finalsealednon-sealed 三者之一。

网站文章

  • STM32-启动文件详解

    STM32-启动文件详解

    还是那句老话基础不牢地动山摇,今天主要来分析由汇编语言编写的启动文件,在进行main函数之前到底做了哪些准备工作,本篇文章所涉及到的部分汇编指令,以及CPU寄存器SP,PC,LR作用,以及最重要的什么是堆和栈请看->《FreeRTOS-ARM架构与程序的本质》,里面已经详细的阐述了以上问题,本文主要是了解启动文件的作用。

    2024-04-01 07:18:02
  • packetbeat对mysql进行抓包 配置文件

    我可以给你一个关于Packetbeat对MySQL的抓包配置的链接:https://www.elastic.co/guide/en/beats/packetbeat/current/packetbeat-configuration-mysql.html。

    2024-04-01 07:17:54
  • 2014计算机基础知识试题,云南省2014年事业单位考试计算机基础知识试题

    2014计算机基础知识试题,云南省2014年事业单位考试计算机基础知识试题

    云南省2014年事业单位考试计算机基础知识试题 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分航帆培训祝大家考试成功1 在Windows ...

    2024-04-01 07:17:47
  • 不root开启位置服务器,ubuntu开启SSH服务,并容许ROOT权限远程登陆。

    服务器配完ubuntu系统以及LNMP环境之后,想用WINSCP远程登陆,就须要开启SSH服务才能支持。数据库SSH服务分为客户端和服务器。顾名思义,我想用WINSCP远程登陆Ubuntu服务器,因此...

    2024-04-01 07:17:02
  • 每天一个小知识

    每天一个小知识

    注解生效,需要在Spring配置文件中启用方法级别的安全性配置,并配置相应的权限切面。是Spring Security中的注解,用于在方法调用前进行权限验证。以上是一个简单的示例,可以根据自己的需求和...

    2024-04-01 07:16:54
  • ucl计算机教授汪军,UCL汪军教授开课:带你入坑多智能体机器学习(免费)!

    ucl计算机教授汪军,UCL汪军教授开课:带你入坑多智能体机器学习(免费)!

    人工智能已经在围棋、图像识别和语音识别等领域达到甚至超越了人类专家水平,但智能化的机器离我们仍然很远。要想实现通用智能,AI智能体必须学习如何在共享环境中与「他人」进行互动,由此产生了人工智能的一个前...

    2024-04-01 07:16:47
  • Win10电脑重装系统更新关闭了还自动打开怎么解决?

    Win10电脑重装系统更新关闭了还自动打开怎么解决?

    由于电脑系统更新有时候会遇到一些问题,例如会带来一些新的BUG,这使得有用户就会关闭系统更新,但是近期有用户反映更新服务禁止了还更新的情况,那么Win10电脑重装系统更新关闭了还自动打开怎么解决?3、...

    2024-04-01 07:16:06
  • 【gdb&core】Linux中gdb 查看core堆栈信息1

    【gdb&core】Linux中gdb 查看core堆栈信息1

    【GDB】GDB调试总目录_bandaoyu的笔记-CSDN博客【GDB】GDB 调试多线程和多进程总结报错记录(gdb) b mps_guide_db.c:1699No source file named mps_guide_db.c.可能是因为调用了动态库,要打断点的文件是动态库的可以通过 以下方式得到解决:(gdb) set breakpoi...

    2024-04-01 07:15:59
  • 架构思维——代码功能聚散之道

    架构思维——代码功能聚散之道

    2024-04-01 07:15:52
  • secureCRT没法输入(按回车键没反应)

    secureCRT没法输入(按回车键没反应)

    1.右击选择会话选项: 2.去掉RTS/CTS.然后重启软件。

    2024-04-01 07:15:43