Java Language and Virtual Machine Specifications

https://docs.oracle.com/javase/specs/index.html


8.1. Class Declarations
https://docs.oracle.com/javase/specs/jls/se23/html/jls-8.html#jls-8.1

ClassDeclaration:
  NormalClassDeclaration
  EnumDeclaration
  RecordDeclaration

NormalClassDeclaration:
  {ClassModifier} class TypeIdentifier [TypeParameters] [ClassExtends] [ClassImplements] [ClassPermits] ClassBody


8.1.1. Class Modifiers
https://docs.oracle.com/javase/specs/jls/se23/html/jls-8.html#jls-8.1.1

ClassModifier:
  (one of)
  Annotation public protected private
  abstract static final sealed non-sealed strictfp