gpt4 book ai didi

java - java程序的异常行为

转载 作者:行者123 更新时间:2023-11-29 09:44:02 24 4
gpt4 key购买 nike

我是 Java 的新手,正在努力学习它。我写了两个类如下,我希望打印为 1、2、3,但它打印了 3、3、3。我读了一本关于我无法弄清楚上述行为并打印 1、2、3 的 java 书。

public class Student{
private static int indexNumber = 0;

Student(){
indexNumber=indexNumber+1;
}
public void test() {
System.out.println(this.getIndexNumber());
}
public int getIndexNumber(){
return indexNumber;
}
}

public class College {
public static void main(String args[]){
Student student1 = new Student();
Student student2 = new Student();
Student student3 = new Student();

student1.test();
student2.test();
student3.test();
}
}

有人能帮忙吗?

最佳答案

indexNumber 是静态的,因此它在类的每个实例之间“共享”。

如果您想要一个唯一的递增 ID,请执行以下操作:

static int nextID = 1;
int indexNumber;

Student() {
indexNumber = (nextID++);
}

这使得 indexNumber 成为一个实例字段,这样每个 Student 都有自己的副本。静态变量用于跟踪要分配的下一个 ID。

关于java - java程序的异常行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18419521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com