java - Java 17 中的密封类是什么
问题描述
今天我将我的 java 版本从 16 更新到 17,我发现sealed
class 是其中的一个新特性。我认为可以这样声明——
public sealed class Main{
}
但是java中密封类有什么用呢?
我也知道这是 jdk-15 中的预览功能
解决方案
简而言之,密封类让您可以控制可以实现或扩展该类/接口的模型、类等。
链接中的示例:
public sealed interface Service permits Car, Truck {
int getMaxServiceIntervalInMonths();
default int getMaxDistanceBetweenServicesInKilometers() {
return 100000;
}
}
这个接口只允许 Car 和 Truck 实现它。
推荐阅读
- c# - 只需打印数组 c# 的最后一行
- jasper-reports - 我们可以在 ireport 的详细信息带中包含变量“TOTAL_SUM”吗?
- prometheus - 警报管理器唯一 ID
- alexa - 亚马逊 Alexa:无限期会话
- java - 如何在 Java Swing JTable 中冻结我的最后一列
- android - 如何在不同的imageView上设置List<>中图像src的倍数?
- php - cakephp 管理员前缀资产
- mongodb - 如何通过 mongo objectID 找到多个集合记录
- android - 改造 URL 查询字符串不能有替换块
- php - 使用连接到 MySQL 数据库的 Node.js 路由通过表单进行身份验证