Hallo,
da ich zZ für meine Prüfung in Java lerne, bin ich gerade auf eine Prüfungsfrage gestoßen, wo ich nicht weiter komme. Ich hab schon alles mögliche abgesucht, und immer nur das gleiche gefunden, was auf diese Frage nicht ganz so passt, deswegen versuche ich es hier.
Und zwar lautet die Frage:
Sie sollen folgende Hierarchie abbilden: CD -> Medium <- Buch (CD und Buch erbt von Medium)
Jedes Medium soll als Attribut ... und ... haben. Medium soll nicht instanziiert werden können und immutable sein.
a) Schreiben Sie die Klasse Medium mit den Vorgaben, den get und set Methoden und einem geeigneten Wert-Konstruktor, eine toString Methode usw.
Nun zum Problem:
Meines Wissens kann eine Klasse nicht instanziiert werden, wenn sie abstract ist.
Meines Wissens erreicht man, dass eine Klasse immutable ist, indem man keine setter setzt, oder die Klasse final macht.
Aber wie erreiche ich beides? Ich muss setter setzen, kann die Klasse aber nicht final und abstract gleichzeitig machen, und nach langem Suchen bin ich auch auf nichts anderes gestoßen.
Vielen Dank schonmal im Voraus
mfg
da ich zZ für meine Prüfung in Java lerne, bin ich gerade auf eine Prüfungsfrage gestoßen, wo ich nicht weiter komme. Ich hab schon alles mögliche abgesucht, und immer nur das gleiche gefunden, was auf diese Frage nicht ganz so passt, deswegen versuche ich es hier.
Und zwar lautet die Frage:
Sie sollen folgende Hierarchie abbilden: CD -> Medium <- Buch (CD und Buch erbt von Medium)
Jedes Medium soll als Attribut ... und ... haben. Medium soll nicht instanziiert werden können und immutable sein.
a) Schreiben Sie die Klasse Medium mit den Vorgaben, den get und set Methoden und einem geeigneten Wert-Konstruktor, eine toString Methode usw.
Nun zum Problem:
Meines Wissens kann eine Klasse nicht instanziiert werden, wenn sie abstract ist.
Meines Wissens erreicht man, dass eine Klasse immutable ist, indem man keine setter setzt, oder die Klasse final macht.
Aber wie erreiche ich beides? Ich muss setter setzen, kann die Klasse aber nicht final und abstract gleichzeitig machen, und nach langem Suchen bin ich auch auf nichts anderes gestoßen.
Vielen Dank schonmal im Voraus
mfg
Zuletzt bearbeitet von einem Moderator: