Java 15 封装接口的记录
由于记录默认为final并且可以扩展接口。我们可以定义封装接口,并让记录实现它们以实现更好的代码管理。
示例
考虑以下示例-
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