回答:
まず、上書きルールは、enum
がパブリックの場合、それ自体のファイルで宣言する必要があることです。これは、すべてのクラス、インターフェース、およびに適用されるJavaのルールでありenum
、壊れることはありません。
非パブリックenum
の場合、複数enum
のが密接に接続されている場合を除いて、同じルールに従う必要があります。
たとえば、式プロセッサを構築し、式のサブタイプ、バイナリ式のサブタイプ、および単項式のサブタイプの列挙を宣言する場合、3つの列挙を1つのファイルにまとめることができます。
enum
sのルールは他のクラスのルールと同じです。クラスがパブリックの場合、クラス名がファイル名と一致するように、パッケージ名と一致する適切な場所でファイル内に存在する必要があります。
列挙型はクラスなので、通常のクラスとしてパックする必要があります。列挙型がパッケージ内の多くの場所で使用されている場合は、それを単一のファイルに入れます。enumがクラスと強くリンクしている場合は、それをパブリック(または保護された)静的内部クラスとして配置します。
関連がない限り、すべての列挙型を1つのファイルに配置する理由はわかりません。