La classe "Chambre" est abstraite; ne peut pas être instanciée
J'ai une classe d'une classe abstraite Room
qui a sous-classes Family
et Standard
, j'ai créé room = new ArrayList<Room>();
dans un Hostel
classe. J'ai une méthode pour ajouter une salle à l'ArrayList;
public String addRoom(String roomNumber, boolean ensuite)
{
if (roomNumber.equals(""))
return "Error - Empty name field\n";
else
room.add( new Room(roomNumber,ensuite) );
return "RoomNumber: " + roomNumber + " Ensuite: " + ensuite
+ " Has been added to Hostel " + hostelName;
}
Mais j'ai l'erreur de compilation;
Chambre est abstraite; ne peut pas être instanciée
Je comprends que les classes abstraites ne peut pas être instanciée, mais quelle est la meilleure façon d'ajouter des chambres?
Vous dites que vous "avoir une classe abstraite
Je pense que vous devriez avoir un coup d'oeil à cette page: docs.oracle.com/javase/tutorial 🙂
Pourquoi avez-vous fait de la place abstrait? Demandez-vous si vous comprenez vraiment ce que
lorsque vous donnez à cette déclaration de méthode?
Vous ne pouvez pas créer d'instance de
Room
", et vous vous demandez pourquoi le compilateur se plaint quand vous essayez de l'instancier?Je pense que vous devriez avoir un coup d'oeil à cette page: docs.oracle.com/javase/tutorial 🙂
Pourquoi avez-vous fait de la place abstrait? Demandez-vous si vous comprenez vraiment ce que
abstract
fait et vous devriez être en mesure de répondre à la question vous-même.lorsque vous donnez à cette déclaration de méthode?
Vous ne pouvez pas créer d'instance de
abstract
classe, la classe de béton est nécessaire. Par exemple: room.add( new BigRoom(roomNumber,ensuite) );
OriginalL'auteur Darren Burgess | 2011-12-15
Vous devez vous connecter pour publier un commentaire.
Vous avez ce message, car vous essayez de créer une instance de la classe abstraite, ce qui est impossible. Vous devez
ou
🙂 Ne vous inquiétez pas ça arrive à tout le monde....
OriginalL'auteur AValchev
L'erreur dit tout:
Room
est une classe abstraite, et les classes abstraites ne peut pas être instanciée.Vous essayez d'instancier
Room
ici:Vous pouvez uniquement créer des instances de béton (non abrégé) des classes. C'est probablement le cas que
Family
etStandard
sont les classes de béton et peut donc être instancié.Pour corriger cela, vous aurez besoin de trouver le bon type de chambre donné le numéro de la chambre, et l'instanciation de la classe appropriée.
OriginalL'auteur NPE
Vous êtes la création d'une instance d'une classe abstraite;
Ce n'est pas correct.
OriginalL'auteur alishaik786