← 返回目录

第三章:面向对象

类、接口、Record 与 Sealed

1. 类与接口

public sealed interface Shape
    permits Circle, Rectangle { double area(); }

public record Circle(double radius) implements Shape {
    @Override public double area() {
        return Math.PI * radius * radius;
    }
}

public record Rectangle(double w, double h) implements Shape {
    @Override public double area() { return w * h; }
}

2. 模式匹配(instanceof)

static String describe(Object o) {
    return switch (o) {
        case Circle c -> "circle r=" + c.radius();
        case Rectangle r -> "rect";
        case null -> "null";
        default -> "other";
    };
}

📋 本章要点

record 减少样板代码;sealed 限制实现类;switch 模式匹配让分支更安全。

评论加载中...