在调用超类型构造函数之前,不能引用roomNumber

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)

yur*_*rib 5

super(theNumber, roomNumber);

在调用超级构造函数时,它必须是你做的第一件事.您正在尝试将私有字段roomNumber作为参数发送.

另外,在您发送两个整数时,Room构造函数采用int和boolean值.

public Room(int roomNumber, boolean enSuite)