kann nicht auf roomNumber vor Supertyp Konstruktor aufgerufen wurde

erstellt habe ich zwei Klassen Standard und Family die eine Erweiterung der abstrakten Klasse Room, bei der Erstellung der Standard Klasse ich bin erfüllt mit der Fehlermeldung "kann nicht auf roomNumber vor Supertyp-Konstruktor aufgerufen wurde," aber ich kann nicht verstehen, warum, jede mögliche Hilfe würde geschätzt.

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;
   }
}

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;
   }
}
  • Warum hast du redeclare roomNumber in der Standard-Klasse? Ich denke, dass ist das problem
  • PS dies hat eine Reihe von Fragen, die Sie möglicherweise wünschen, um aufzuräumen. Der Standard-Konstruktor hat zwei Fehler bei der Kompilierung. Sie vorbei sind roomNumber anstelle von "enSuite" als param -- sind Sie nicht auch der gleiche Typ. Ihre "Bad = Bad" - Anweisung ist verwirrend, aufgrund der Namen, die unterschiedlicher kaum einer groß - / Kleinschreibung, Verwendung von öffentlichen Bereichen ist ein no-no, und schließlich versteckt sich ein öffentlicher Bereich mit einem privaten in eine Unterklasse gebunden ist, um Verwirrung zu Stiften!
  • Danke Jungs, hat eine Weile gedauert, aber ich verstehe, was du gemeint, und ich habe das problem behoben
Schreibe einen Kommentar