Dar*_*ess 2 java abstract-class super
我已经创建了两个类Standard,Family并扩展了抽象类Room,在编译Standard类时我遇到了错误"在调用超类型构造函数之前无法引用roomNumber",但我无法理解为什么,任何帮助都将不胜感激.
Room
public abstract class Room
{
public int roomNumber;
public String roomType;
public boolean ensuite;
public boolean available;
public Room(int roomNumber, boolean enSuite)
{
this.roomNumber = roomNumber;
ensuite = enSuite;
available = false;
}
}
Run Code Online (Sandbox Code Playgroud)
Standard
public class Standard extends Room
{
private int roomNumber;
private int childCap;
private int adultCap;
public Standard(int theNumber, int kidsCap, int adultsCap)
{
super(theNumber, roomNumber);
childCap = childsCap;
adultCap = AdultsCap;
}
}
Run Code Online (Sandbox Code Playgroud)
super(theNumber, roomNumber);
在调用超级构造函数时,它必须是你做的第一件事.您正在尝试将私有字段roomNumber作为参数发送.
另外,在您发送两个整数时,Room构造函数采用int和boolean值.
public Room(int roomNumber, boolean enSuite)