代码如下:
public class Course {
private String name;
private String[] students = new String[100];
private int numberOfStudents;
public Course (String name) {
this.name = name;
}
public String getName() {
return name;
}
public void addStudents(String student) {
students[numberOfStudents] = student;
numberOfStudents++;
}
public String[] getStundets() {
return students;
} public int getNumberOfStudents() {
return numberOfStudents;
}
}
--------------------------------------------------
这里的numberOfStudents不需要赋初值么?PS:该类运行无错,来自《JAVA语言程序设计 基础篇》程序清单7-11
public class Course {
private String name;
private String[] students = new String[100];
private int numberOfStudents;
public Course (String name) {
this.name = name;
}
public String getName() {
return name;
}
public void addStudents(String student) {
students[numberOfStudents] = student;
numberOfStudents++;
}
public String[] getStundets() {
return students;
} public int getNumberOfStudents() {
return numberOfStudents;
}
}
--------------------------------------------------
这里的numberOfStudents不需要赋初值么?PS:该类运行无错,来自《JAVA语言程序设计 基础篇》程序清单7-11
成员变量,没有指定缺省值的情况下,int型系统会默认为0。你的问题可能是把局部变量跟成员变量混淆了。局部变量没有赋值之前,使用会报错,比如:
public void fun() {
int a;
System.out.println(a); // 报错
}