-4

複数の public クラスを持つ Java プログラムを作成しようとしたところ、次のエラーが発生しました。

Class [classname] is public,should be declared in a separate file named 
[classname].java

なぜこれが起こっているのかについて説得力のある答えを見つけることができないようです。

4

3 に答える 3

3

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 にあります。

同様の質問:

于 2013-02-22T11:21:43.743 に答える
2

クラス名はファイル名と同じです。ファイルに複数のクラスがある場合、競合が発生し、エラーが発生します。したがって、各クラスは、クラス名と同じファイル名を持つ別のファイルにある必要があります。

于 2013-02-22T11:26:23.030 に答える
2

すべてのパブリック クラスは、独自の .java ソース ファイルで宣言する必要があります。

于 2013-02-22T11:22:21.303 に答える