 
- Java 15 教程
- Java 15 - 主页
- Java 15 - 概述
- Java 15 - 环境设置
- Java 15 语言变化
- Java 15 - 密封类
- Java 15 - instanceOf 模式
- Java 15 - 文本块
- Java 15 - 记录
- Java 15 - 记录和密封类
- Java 15 JVM 变化
- Java 15 - 隐藏类
- Java 15 - 垃圾收集器
- Java 15 - 其他更改
- Java 15 - 弃用和删除
- Java 15 - 其他增强功能
- Java 15 - 弃用和删除
- Java 15 有用资源
- Java 15 - 快速指南
- Java 15 - 有用的资源
- Java 15 - 讨论
Java 15 - 密封接口记录
因为记录默认是最终的并且可以扩展接口。我们可以定义密封接口并让record实现它们以更好地管理代码。
例子
考虑以下示例 -
ApiTester.java
public class APITester {
   public static void main(String[] args) {
      Person employee = new Employee(23, "Robert");
      System.out.println(employee.id());
	   System.out.println(employee.name());
   }
}
sealed interface Person permits Employee, Manager {
   int id();
   String name();
}
record Employee(int id, String name) implements Person {}
record Manager(int id, String name) implements Person {}
编译并运行程序
$javac -Xlint:preview --enable-preview -source 15 APITester.java $java --enable-preview APITester
输出
23 Robert