Ich habe eine Klasse eine abstrakte Klasse Room
mit den Unterklassen Family
und Standard
, ich habe room = new ArrayList<Room>();
innerhalb einer Hostel
Klasse erstellt. Ich habe eine Methode, um der ArrayList einen Raum hinzuzufügen;
Allerdings bekomme ich den Kompilierzeitfehler;
Der Raum ist abstrakt; kann nicht instanziiert werden
Ich verstehe, dass abstrakte Klassen nicht instanziiert werden können, aber was ist der beste Weg, Räume hinzuzufügen?
Der Fehler sagt alles: Room
ist eine abstrakte Klasse und abstrakte Klassen können nicht instanziiert werden.
Sie versuchen, Room
hier zu instanziieren:
Sie können nur Instanzen von konkreten (d. h. nicht abstrakten) Klassen erstellen. Es ist wahrscheinlich, dass Family
und Standard
konkrete Klassen sind und daher instanziiert werden können.
Um dies zu beheben, müssen Sie anhand der Raumnummer den richtigen Zimmertyp ermitteln und die entsprechende Klasse instanziieren.
Sie erstellen eine Instanz einer abstrakten Klasse.
%Vor%Das ist nicht korrekt.
Tags und Links java abstract-class instantiation