-1

javac test.java を使用して test.java を想定して、1 つの Java ファイルをコンパイルしました。

コンパイル後、test.class と test$.class の 2 つのクラス ファイルが生成されます。

その $ クラス ファイルについて誰か助けてください。コードは正常に動作しています。$ クラス ファイルを理解する必要があります。

それは一時ファイルですか?

以下は私のコードパッケージtest.myfolderです。

公開クラスのテスト{

public String Login;
public String Name;
public String Num;
public String AccNum;

public test()
{
    this.Login = Abc.getMissChar();
    this.Name = Abc.getMissChar();
    this.Num = Abc.getMissChar();
    this.AccNum = Abc.getMissChar();
}

public test(String pLogin, String pName, String pNum, String pAccNum)
{
    this.Login = pLogin;
    this.Name = pName;
    this.Num = pNum;
    this.AccNum = pNum;
}

public String getLogin() {
    return Login;
}

public String getName() {
    return Name;
}

public String getNum() {
    return Num;
}

public String getAccNum() {
    return AccNum;
}
4

2 に答える 2

1

ソースファイルに複数のクラスがある場合、各クラスは個別のクラスファイルにコンパイルされ、クラス内に別の内部または匿名クラスがあると思います。

于 2013-04-01T06:02:06.537 に答える
1

匿名クラス (または単に switch ステートメント) がある場合、Java はこれらの追加のクラス ファイルを作成し、$その中に があります。

これらは一時ファイルではありません。Java は、クラスをロードするためにそれらを必要とします。

于 2013-04-01T05:46:26.763 に答える