首页 > 解决方案 > Java 17 中的密封类是什么

问题描述

今天我将我的 java 版本从 16 更新到 17,我发现sealedclass 是其中的一个新特性。我认为可以这样声明——

public sealed class Main{

}

但是java中密封类有什么用呢?

我也知道这是 jdk-15 中的预览功能

标签: javaclasssealed-classjava-17java-sealed-type

解决方案


您可以按照此链接获取示例。

简而言之,密封类让您可以控制可以实现或扩展该类/接口的模型、类等。

链接中的示例:

public sealed interface Service permits Car, Truck {

    int getMaxServiceIntervalInMonths();

    default int getMaxDistanceBetweenServicesInKilometers() {
    return 100000;
  }
}

这个接口只允许 Car 和 Truck 实现它。


推荐阅读