-4

この本には、静的変数とメソッドの使用方法の例があります。何が起こっているのかわかりません。メソッドと変数の前に static が必要な理由を説明してください。Virus および VirusLab と呼ばれる 2 つの別個のクラスがあります。VirusLab.java は、コマンド ライン引数を受け取り、ウイルス オブジェクトの数を作成し、ウイルス オブジェクトの数を吐き出します。ありがとう

ウイルス:

public class Virus {

static int virusCount = 0;

public Virus() {
    virusCount++;
}

public static int getVirusCount() {
    return virusCount;
}

}

ウィルスラボ:

public class VirusLab {
public static void main(String[] args) {
    int numViruses = Integer.parseInt(args[0]);
    if (numViruses > 0) {
        Virus[] virii = new Virus[numViruses];
        for (int i = 0; i < numViruses; i++) {
            virii[i] = new Virus();
        }
        System.out.println("There are " + Virus.getVirusCount()
                + " viruses.");
    }
}
}
4

4 に答える 4

0

私はそれをかなり短くします

その変数をクラスのすべてのオブジェクトで共有する場合は、静的変数が必要です。そのため、オブジェクトの 1 つがその値を変更すると、他のオブジェクトにも反映されます。これは、上記の例で正確に行われていることです。

于 2013-08-10T18:29:51.797 に答える
0

静的変数は、クラスのインスタンスに関連付けられていない変数です。

これは、別のクラスから変数にアクセスするためにクラスの新しいインスタンスを作成する必要がないことを意味します。このことを考慮:

public class Login {
public static String loggedInUser 

public void setLoggedInUser(String name){
    this.loggedInUser = name;
}
}

別のクラスで String loggedInUser にアクセスするには、言う必要はありません

Login login = new Login();
String username = login.loggedInUser;

あなたはただ言わなければならないでしょう

String username = Login.loggedInUser;

これは、変数が設定されたクラス外の変数にアクセスする場合に役立ちます。お役に立てば幸いです。

于 2013-08-10T18:37:08.770 に答える
0

前の質問で私が与えたこの回答を読んでみてください:
Accessing Static variables
and make google and wikipedia ur friend 質問を投稿する時間を節約し、回答が得られたかどうかを確認するためにページを待って更新します。

于 2013-08-10T20:26:59.123 に答える