Я пишу класс (Suite), который наследуется от другого класса (HotelRoom).Класс HotelRoom имеет конструктор, который требует аргумент (int), и поэтому в конструкторе для Suite я назвал super (room), который, как я могу сказать, должен работать.HotelRoom соответствует просто отлично, однако Suite выдает ошибку конструктора.Любая помощь будет принята с благодарностью.Вот мой код ниже:
public class HotelRoom
{
private int roomNumber;
protected double nightlyRate;
private final int maxRoomNumber = 999;
boolean didEnterCorrectRoomNumber = false;
public HotelRoom(int room)
{
if (room > 0 && room <= 299)
{
nightlyRate = 69.95;
didEnterCorrectRoomNumber = true;
//return didEnterCorrectRoomNumber;
}
else if (room > 299 && room <= maxRoomNumber)
{
nightlyRate = 89.95;
didEnterCorrectRoomNumber = true;
//return didEnterCorrectRoomNumber;
}
else
{
//return didEnterCorrectRoomNumber;
}
}
public int getRoomNumber ()
{
return roomNumber;
}
public double getNightlyRate ()
{
return nightlyRate;
}
public boolean getDidEnterCorrectRoomNumber ()
{
return didEnterCorrectRoomNumber;
}
public void displayRoom ()
{
System.out.println("Room Number: " + roomNumber);
System.out.format("Cost per Night: $%.2f%n", nightlyRate);
}
}
и мой подкласс:
public class Suite extends HotelRoom
{
private final double suiteSurchargeRate = 40.00;
private double nightlyRateWithSuite;
public Suite (int room)
{
super(room);
//boolean didEnterCorrectRoomNumber = super.getDidEnterCorrectRoomNumber();
nightlyRateWithSuite = super.getNightlyRate() + suiteSurchargeRate;
//return didEnterCorrectRoomNumber;
}
public void displayRoom ()
{
super.displayRoom();
System.out.format("Suite Surcharge: $%.2f%n", suiteSurchargeRate);
System.out.format("Total Cost per Night: $%.2f%n", nightlyRateWithSuite);
}
}
Точная ошибка компилятора:
MacBook-Air:HotelRoom Nick$ javac Suite.java
Suite.java:12: cannot find symbol
symbol : constructor HotelRoom(int)
location: class HotelRoom
super(room);
^
1 error
Я несколько раз сохранял и перекомпилировали я просто получаю тот же результат.HotelRoom компилируется нормально, а Suite - нет.Это только два java-файла в их каталоге, поэтому нет проблем с вызовом неправильного класса.:)