我正在编写一个创建“房子”对象的方法,它有一个楼层数组,每个楼层都有一个公寓数组。给公寓分配号码时,弹出这样的错误,我不知道为什么?(错误出在循环的第一行,所以全马开始给,因为有类似的操作,同样的错误)
等级类
public class Level {
private int number;
private Flat[] flats;
public void setNumber(int number) {
this.number = number;
}
HouseRun类
public class HouseRun {
public static void main(String[] args) {
ObjectCreating(5,4);
}
public static void ObjectCreating(int HouseNumber, int LevelsQuantities){
int FlatsCount = 1;
House house = new House(HouseNumber, LevelsQuantities);
Level[] levels = new Level[LevelsQuantities];
for (int i = 0; i < levels.length ; i++) {
levels[i].setNumber(i+1);
levels[i].setFlats();
Flat[] levelsFlats = levels[i].getFlats();
假设创建数组时会创建一个包含“空”对象的数组,这是一个常见的错误。实际上,数组是用
null-s填充的,在调用类的实例的任何方法之前Level,需要通过调用任何构造函数(至少是不带参数的构造函数,默认存在)来创建这个实例。