質問:
Eclipse を使用して作成されたエクスポートされた JAR ファイルでは、特定のclass ファイルでは、クラス名に続いてドル記号と数字が表示されます。例:
<code class="java">Find.class Find.class Find.class Find.class</code>
これは、大きなクラスが複数の小さなクラスに分割されるコード サイズ制限の結果でしょうか?オンラインで広範囲に検索しても、関連する情報は得られませんでした。誰か説明してもらえませんか?
答え:
これらの追加のクラス ファイルは、元のクラス内の 内部クラス の結果です。内部クラスは外部クラス内にネストされており、class キーワードを使用して宣言されます。
<code class="java">public class OuterClass { public class InnerClass { // Nested code } }</code>
内部クラスを含むクラスがコンパイルされると、OuterClass$InnerClass という命名規則に従って、内部クラスごとに個別のクラス ファイルが生成されます。 。クラス。匿名の内部クラス (名前のないクラス) には数値識別子が割り当てられ、OuterClass$1.class のようなファイル名になります。
一般的な考えに反して、元のクラスのサイズは複数のクラス ファイルの作成に影響しません。 。内部クラスの存在が、この動作の唯一の理由です。
以上がJAR ファイル内の Java コンパイル済みクラスのファイル名にドル記号と数字が含まれるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。