Ich verstehe theoretisch, warum es keine abstrakt statisch in Java, wie zum Beispiel erklärt in Warum können statische Methoden in Java nicht abstrakt sein? .
Aber wie löse ich dann ein solches Problem?
Meine Anwendung verwendet einige Dateitypen, denen ich statische Eigenschaften wie eine Beschreibung des Dateityps zuweisen möchte (z. B. "Datendatei", die andere ist "Konfigurationsdatei" usw.). Natürlich würde ich das in einen statischen String packen, so dass die Beschreibung zugänglich ist, ohne eine Datei zu instanzieren (nützlich z.B. für die GUI). Andererseits sollten natürlich alle Dateitypen einige gemeinsame Methoden haben wie getStatus()
, die ich natürlich von einer gemeinsamen Oberklasse erben möchte MyFileType
.
getDescription()
wäre natürlich in der Oberklasse abstrakt.
Ich habe versucht, eine Kombination aus einer Oberklasse und einer Schnittstelle zu verwenden, aber das Problem ist ähnlich: Eine statische Implementierung einer abstrakten Methode ist nicht zulässig.
Wie würde ein Java-Guru dieses Problem lösen? Ist es wirklich eine so schlechte Implementierung, die ich erstellen möchte?
Vielen Dank! Philipp