Java Sinn von statischen Interfaces?

D

DefconDev

Gast
Hallo zusammen,

ich arbeite mit nem Kollegen zusammen und er hat in ein paar Klassen etliche statische Interfaces definiert mit nicht statischen Members.

Ich stelle mir gerade die Frage warum man ein Interface statisch definieren sollte? Also statische Methoden in einem Interface kann ich noch begreifen aber das?

Kann mir jemand auf die Sprünge helfen?
 
Hades85 schrieb:
Ich stelle mir gerade die Frage warum man ein Interface statisch definieren sollte?

Damit man diese auch außerhalb des Klassenkontextes verwenden kann. Ist nicht ungewöhnlich. Gibt es auch in der Java Runtime.

Reine Frage der Organisation. Man könnte das Interface auch in einer eigenen Datei definieren. Dann bräuchte man das static nicht. Aber wenn das Interface im Zusammenhang mit der äußeren Klasse oder Interface steht, bietet es sich mitunter an.
 
Ich benutzt sowas gelegentlich auch, um nicht 5000 Dateien in meiner IDE zu sehen. Dabei gruppier ich dann diverse zusammengehörende Interfaces innerhalb einer Datei.

Im Grunde ist es Java egal, wie du deine Dateien organisierst. Du kannst auch ein komplettes Projekt in einer einzelnen Datei mit 1000000 Zeilen programmieren.
 
Ja aber ein Interface als eigne Klasse zu schreiben ist in meinen Augen die gängige Variante. Daher sehe ich auf Anhieb nicht die Vorteile eines statischen Interfaces. Aber jeder so wie er glaubt zum Ziel zu gelangen... :-)
 
Es kommt immer auf den Anwendungsfall an. Hast Du schon mal java.util.Map.Entry verwendet? Man hätte das auch als java.util.MapEntry etc. definieren können. Auf die gewählte Weise hat man aber gleich den Bezug zu Map definiert. Das macht IMHO Sinn.
 
Zurück
Oben