创建数组时发生Java空指针异常
我正在尝试创建一个包含赛艇对象和帆船对象的船只阵列。目前我有:创建数组时发生Java空指针异常,java,Java,我正在尝试创建一个包含赛艇对象和帆船对象的船只阵列。目前我有: Boat[] boats; totalBoatCount = args.length; for (int i = 0 ; i < totalBoatCount ; i++) { char firstChar = boatNames[i].charAt(0); if (Boat.isItRaceBoat(firstChar)) { boats[i
Boat[] boats;
totalBoatCount = args.length;
for (int i = 0 ; i < totalBoatCount ; i++)
{
char firstChar = boatNames[i].charAt(0);
if (Boat.isItRaceBoat(firstChar))
{
boats[i] = new RaceBoat(boatNames[i]);
}
else
{
boats[i] = new SailBoat(boatNames[i]);
}
}
每次我创建一艘新的帆船或赛艇时,我都会得到一个java.lang.NullPointerException。我应该如何用这个短语来创建这个数组
Boat[] boats;
只声明一个Boat[]变量。您还需要使用
Boat[] boats = new Boat[args.length];
“=”前面的那一行表示boats是一个包含Boat实例的数组。实际构造此空数组对象后的部分,该对象能够包含args.length BOOT实例数并将其分配给BOOTS变量。BOOT[]BOOTS必须在分配BOOTS[i]=新的RaceboatBoatName[i]之前进行初始化 数组未初始化,这意味着它为空 Boat[]必须初始化Boat
Boat[] boats = new Boats[args.length];
for (int i = 0 ; i < boats.length ; i++)
{
char firstChar = boatNames[i].charAt(0);
if (Boat.isItRaceBoat(firstChar))
{
boats[i] = new RaceBoat(boatNames[i]);
}
else
{
boats[i] = new SailBoat(boatNames[i]);
}
}
此错误与多态性无关。