ホームページ > Java > &#&チュートリアル > 単一の Java ファイル内に複数のトップレベル クラスが存在できますか?

単一の Java ファイル内に複数のトップレベル クラスが存在できますか?

Barbara Streisand
リリース: 2024-11-27 13:27:11
オリジナル
667 人が閲覧しました

Can Multiple Top-Level Classes Exist in a Single Java File?

単一 Java ファイル内の複数のクラス宣言

Java では、1 つのファイル内に複数の最上位クラスを定義できますが、 (JLS に従って) これらのクラスのうち 1 つだけをパブリックにできるという制限付き§7.6).

このテクニックに特別な用語はありますか?

「内部」、「ネスト、 " または "匿名" クラス、それは トップレベルの複数クラスと呼ばれます宣言.

セカンダリ クラスは他のコンパイル単位での参照が制限されていますか?

JLS では、Java 仮想マシン (JVM) が強制する可能性があると確かに述べています。これらの 2 次クラスは「パッケージの他のコンパイル単位のコードから参照」できないという制限があります。ただし、この制限は Java 実装全体で一貫して適用されるわけではありません。

Java の実装動作の説明

一部の Java 実装では、このファイル間参照を積極的に禁止していない場合がありますが、効果的にそれを妨げる制限があります。たとえば、Foo という名前のパブリック クラスが、別のファイルにある Bar という名前の別のトップレベル クラスを参照している場合、Foo のコンパイルは同様のエラーで失敗する可能性があります: 「シンボルが見つかりません: クラス Baz」。このエラーは、コンパイラが参照クラス Bar を検索するソース ファイルを認識していないために発生します。

これらの問題を回避するには、セカンダリ クラスを除き、各ソース ファイルを 1 つのトップレベル クラスのみに制限することをお勧めします。クラスは何らかの理由でパブリック クラスにアクセスする必要があります。

以上が単一の Java ファイル内に複数のトップレベル クラスが存在できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート