.java
ファイルに複数のトップレベルクラスがある場合、そのクラスは1つの最上位パブリッククラスを持つことができ、他のすべてのトップレベルクラスはパブリックにすることはできません。javacが非公開の各トップレベルクラスに対して `.class`ファイルを作成しているのはなぜですか?
このような.java
ファイル(たとえばjavac my.java
)をコンパイルすると、最上位クラスごとに.class
というファイルが作成されています。 1つのトップレベルクラスを除くすべてが非公開であるため、非公開のトップレベルクラスごとに.class
ファイルが作成されるのはなぜですか?
ありがとうございました。
内部およびネストされたクラスがあるときに何が生成されるのか調べましたか?たぶんあなたはパターンを見ることができます。 – Kayaman
内部クラスとネストされたクラスには '.class'ファイルがありません。 – Ben
@Benそれを試してみてください。 (彼らは別のクラスファイルを持っています) –