public record Point(int x, int y) {
public Point {
if (x < 0 || y < 0) throw new IllegalArgumentException();
}
}
// 执行:
Point p = new Point(3, 4);
System.out.println(p.x() + ", " + p.y()); public record Point(int x, int y) {
public Point {
if (x < 0 || y < 0) throw new IllegalArgumentException();
}
}
// 执行:
Point p = new Point(3, 4);
System.out.println(p.x() + ", " + p.y()); 编译错误,record不能定义紧凑构造器
3, 4
运行时抛出IllegalArgumentException
编译错误,record的字段必须通过getter方法访问而不是x()