はい、ソース ファイル内に存在できるパブリック クラスは 1 つだけです。各コンパイル単位 (ファイル) はパブリック クラスを 1 つだけ持つことができるため、つまり、各コンパイル単位にはパブリック クラスで表される単一のパブリック インターフェイスがあるため、このインターフェイスには、必要に応じてパッケージのアクセス許可をサポートする多数のクラスを含めることができます。
このチュートリアルの動作環境: Windows10 システム、Java8、Dell G3 コンピューター。
質問: 「.java」ソース ファイルには複数のクラス (内部クラスではない) を含めることはできますか?制限事項は何ですか?
回答: 複数のクラスが存在できますが、存在できるパブリック クラスは 1 つだけであり、パブリック クラス名はファイル名と一致している必要があります。ファイル内には非パブリック クラスのみを含めることができます。非パブリック クラスが 1 つしかない場合、このクラスはファイル名と異なっていてもかまいません。
Java ソース ファイルにはパブリック クラスが 1 つしか存在できないのはなぜですか?
『Java Programming Thoughts (4th Edition) (6.4 Class Access Permissions)』という本には、次のような 3 つの段落があります。
1. 各コンパイル単位 (ファイル) には、次のようなものしかありません。これは、各コンパイル単位がパブリック クラスで表される単一のパブリック インターフェイスを持つことを意味します。このインターフェイスには、パッケージ アクセスをサポートするために必要な数のクラスを含めることができます。コンパイル単位に複数のパブリック クラスがある場合、コンパイラはエラー メッセージを表示します。
2. パブリック クラスの名前は、大文字と小文字を含めて、コンパイル単位を含むファイルの名前とまったく同じである必要があります。一致しない場合もコンパイル エラーが発生します。
3. あまり一般的ではありませんが、コンパイル単位にパブリック クラスがまったく存在しない可能性があります。この場合、ファイルには任意の名前を付けることができます。
Java ソース ファイルにパブリック クラスがない場合はどうなりますか?
このとき、プログラムがコンパイルされ、対応するパス下に 3 つの .class ファイルが生成されます。 [実行] を直接クリックすると、プログラムは実行されません。プログラムを右クリックする必要があります----->名前を付けて実行----->Java アプリケーション----->データ ソースを選択します
個人的な要約:
コンパイル単位 (Java ファイル) には複数のクラスを持つことができ、複数の異なる .classes が含まれます。ファイルと .class ファイルは、プログラム動作のためのデータのソースです。 Java は、各コンパイル単位のデータ インターフェイスとしてパブリック クラスを使用します。1 つだけ使用でき、それ以外の場合は複数のクラスを持つ Java ファイルを処理できません。コンパイル単位 (Java ファイル) に複数の非パブリック クラスがある場合、実行時にデータ ソースを選択する必要があります。
推奨される関連ビデオ チュートリアル: Java ビデオ チュートリアル
以上がJavaソースファイルに必要なパブリッククラスはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。