Java 如何在下面的代码中增加ID值

Java 如何在下面的代码中增加ID值,java,Java,} 我知道每次主函数调用ID值时,它都会一次又一次地将其初始化为0,我曾考虑过使用for循环,但它不起作用,因此如何解决这个问题,非常感谢您的帮助! 以下是运行示例: public class Student { private String Last_Name; private String First_Name; private int Grade_Level, ID; private double GPA; public Student() { Last_Name = "None

}

我知道每次主函数调用ID值时,它都会一次又一次地将其初始化为0,我曾考虑过使用for循环,但它不起作用,因此如何解决这个问题,非常感谢您的帮助! 以下是运行示例:

public class Student {
private String Last_Name;
private String First_Name;
private int Grade_Level, ID;
private double GPA;

public Student() {
    Last_Name = "None";
    First_Name = "None";
    Grade_Level = 0;
    GPA = 0.0;
}

public Student(String firstName, String lastName, int gradeLevel, double gpa) {
    Last_Name = lastName;
    First_Name = firstName;
    Grade_Level = gradeLevel;
    GPA = gpa;
}

public String toString(){
    return Last_Name + ", " + First_Name + "\nGPA: " + GPA + "\nGrade Level: " + Grade_Level + " id # " + ID++;
}

您可能在实例之间寻找一个共享变量,该变量的状态无论已创建对象的数量如何都不会改变。这是静态成员所做的:

None, None
GPA: 0.0
Grade Level: 0 id # 1

None, None
GPA: 0.0
Grade Level: 0 id # 2


None, None
GPA: 0.0
Grade Level: 0 id # 3

Dovi, Mrs.
GPA: 3.4
Grade Level: 7 id # 4

您可能在实例之间寻找一个共享变量,该变量的状态无论已创建对象的数量如何都不会改变。这是静态成员所做的:

None, None
GPA: 0.0
Grade Level: 0 id # 1

None, None
GPA: 0.0
Grade Level: 0 id # 2


None, None
GPA: 0.0
Grade Level: 0 id # 3

Dovi, Mrs.
GPA: 3.4
Grade Level: 7 id # 4

@BaronZhu,它不是一个类型,只是一个关键字,它使整个类的变量成为全局变量。如果它解决了您的问题,那么您可以随意将其标记为答案,以结束问题@BaronZhu@BaronZhu,它不是一种类型,只是一个关键字,它使整个类的变量成为全局变量。如果它解决了您的问题,那么您可以随意将其标记为答案@BaronZhuJava总是将int初始化为0。您从未将任何内容分配给
ID
。如果您想让它有一个不同的值,那么您必须给它赋值。@dsh,“Java总是将ints初始化为0”,如果它们不是局部变量。从技术上讲,局部变量不是用默认值初始化的,但这只是因为编译器将强制程序员初始化局部变量。谢谢你们,非常感谢!Java总是将int初始化为0。您从未将任何内容分配给
ID
。如果您想让它有一个不同的值,那么您必须给它赋值。@dsh,“Java总是将ints初始化为0”,如果它们不是局部变量。从技术上讲,局部变量不是用默认值初始化的,但这只是因为编译器将强制程序员初始化局部变量。谢谢你们,非常感谢!