我创建了两个类Standard
和Family
,它们在编译Standard
类时扩展了抽象类Room
我遇到了错误“在调用父类(super class)型构造函数之前无法引用 roomNumber”,但我不明白为什么,任何帮助将不胜感激。
房间
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;
}
}
标准
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;
}
}
最佳答案
super(theNumber, roomNumber);
当调用 super 构造函数时,它必须是您要做的第一件事。您正在尝试将私有(private)字段 roomNumber 作为参数发送。
顺便说一句,Room 构造函数接受一个 int 和一个 boolean 值,而您发送两个 int。
public Room(int roomNumber, boolean enSuite)
关于java - 在调用父类(super class)型构造函数之前无法引用 roomNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181795/