ホームページ  >  記事  >  Java  >  Java でコンパイルされたクラスにドル記号が付いているのはなぜですか?

Java でコンパイルされたクラスにドル記号が付いているのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 18:54:29921ブラウズ

Why Do Java Compiled Classes Have Dollar Signs?

ドル記号を使用した Java コンパイル クラス

Java プログラマは、コンパイルされたクラス ファイルで独特の命名規則に遭遇することがよくあります。一部のクラスでは、クラス名の後にドル記号と数字が続く奇妙なパターンが表示されます。たとえば、

  • Find$1.class
  • Find$2.class
  • Find$3.class
  • Find のようなファイルが表示される場合があります。 class

原因の詳細

一般に信じられていることに反して、クラスの規模がこの動作を引き起こすわけではありません。答えは内部クラスにあります。クラスに内部クラスが含まれる場合、コンパイラはそれらの内部クラスに対して個別のクラス ファイルを生成します。ファイル名は次のパターンに従います。

OuterClass.class
OuterClass$InnerClass.class

匿名内部クラス

カスタム名なしで定義された匿名内部クラスには、番号が割り当てられます。ここでは、「Find$1.class」および類似のファイル名について説明します。

次のコード スニペットを考えてみましょう。

public class OuterClass {
    class InnerClass {
    }

    Serializable anonymous = new Serializable() {
    };
}

コンパイラ次のクラス ファイルを生成します:

  • OuterClass.class
  • OuterClass$InnerClass.class
  • OuterClass$1.class

匿名クラスを検討していますか?

匿名内部クラスの使用は議論の対象となっています。これはコードの臭いだと考える人もいますが、特定のシナリオではそれが適切であると主張する人もいます。最終的に、それらを使用するかどうかは、特定の設計要件に基づいて決定されます。

以上がJava でコンパイルされたクラスにドル記号が付いているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。