public sealed class Shape permits Circle, Rectangle {}
public final class Circle extends Shape {}
public non-sealed class Rectangle extends Shape {}
public class Square extends Rectangle {} public sealed class Shape permits Circle, Rectangle {}
public final class Circle extends Shape {}
public non-sealed class Rectangle extends Shape {}
public class Square extends Rectangle {} 编译错误,Square不能继承Rectangle
编译错误,sealed class必须和子类在同一个文件中
编译通过,Square可以继承non-sealed的Rectangle
编译错误,Shape的permits列表中必须包含Square