Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

$マークについて

クラスファイルにApplet$1.classのように$マークがついたクラスファイルが生成されてしまいます。
これは何なのですか?
HTML上でアプレットを起動しようとしても、サーバー上にこのファイルを送れないので困っています。だれか教えてください。

ちなみに上のクラスファイルの他に、正しいApplet.classファイルも生成されます

2

回答

4771

閲覧

2件の回答

評価

0

$マークの付いたクラスファイルはインナークラスを使用してコンパイルすると生成されます。

public class TestMain {
  public static void main(String[] args) {
    class Abc{
    }
    Abc abc = new Abc();
  }
}

↑の例だと
 TestMain$1Abc.class
が作成されます。
必要なファイルですのでサーバに送りましょう。

評価

0

インナークラスでも、とくに1とか2とかだけのものは、
無名クラスがコンパイルされたものです。

foo.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        :
    }
});

のような作り方をすると、できます。

いずれにせよ、必要なファイルです。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。