Java15 - Record & 密封类

创建于 2024-12-02 / 22
字体: [默认] [大] [更大]

默认情况下记录是最终的并且可以扩展接口。 我们可以定义密封接口,让记录实现它们以更好地管理代码。


示例

考虑以下示例 −

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


0 人点赞过