複数の public クラスを持つ Java プログラムを作成しようとしたところ、次のエラーが発生しました。
Class [classname] is public,should be declared in a separate file named
[classname].java
なぜこれが起こっているのかについて説得力のある答えを見つけることができないようです。
複数の public クラスを持つ Java プログラムを作成しようとしたところ、次のエラーが発生しました。
Class [classname] is public,should be declared in a separate file named
[classname].java
なぜこれが起こっているのかについて説得力のある答えを見つけることができないようです。
1 つのファイルで複数の public クラスを宣言することはできません.java
。クラスを別の.java
ファイルに分けます。
Class1.java
public class Class1 {
}
Class2.java
public class Class2 {
}
この制限は、コンパイル単位ごとにそのような型が最大で 1 つ存在する必要があることを意味します。この制限により、Java プログラミング言語のコンパイラまたは Java 仮想マシンの実装がパッケージ内の名前付きクラスを簡単に見つけることができます。たとえば、パブリック タイプ wet.sprocket.Toad のソース コードはディレクトリ wet/sprocket のファイル Toad.java にあり、対応するオブジェクト コードは同じディレクトリのファイル Toad.class にあります。
クラス名はファイル名と同じです。ファイルに複数のクラスがある場合、競合が発生し、エラーが発生します。したがって、各クラスは、クラス名と同じファイル名を持つ別のファイルにある必要があります。
すべてのパブリック クラスは、独自の .java ソース ファイルで宣言する必要があります。