-4

在本书中,有一个如何使用静态变量和方法的示例。我不明白发生了什么。解释为什么方法和变量前面必须有静态。有两个单独的类,称为 Virus 和 VirusLab。VirusLab.java 接受一个命令行参数并生成 Virus 对象的数量,然后吐出 Virus 对象的数量。谢谢

病毒:

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

2

网络搜索会为您提供数百个链接来解释 Java 中的“静态”关键字。

请参考以下文档:http ://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html

另外,请参考一本教科书以供您进一步学习,这将有很大帮助。

于 2013-08-10T18:27:08.380 回答
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

我会保持很短

如果您希望该变量在类的所有对象之间共享,则需要静态变量,这样如果其中一个对象更改其值,它也会反映在其他对象中,这正是上面示例中所做的。

于 2013-08-10T18:29:51.797 回答
0

尝试阅读我在上一个问题中给出的答案:
访问静态变量
并使谷歌和维基百科成为您的朋友,他们将节省您来这里发布问题的时间,等待并刷新您的页面以检查是否给出了任何答案。

于 2013-08-10T20:26:59.123 回答