nullpointer.at

Java 8 – Erweiterungen rund ums Interface


Mit dem Release von Java 8 stehen uns Java Entwicklern wieder eine Fülle neuer Möglichkeiten ins Haus. Unter anderem wurden die Mittel, die uns bei der Nutzung eines Interface gegeben sind, erweitert.

Statische Methoden in Interfaces

In Interfaces können nun statische Methoden definiert werden. Zu sehen im JDK selbst z.B. im Comperator Interface, dass u.a. um Funktionen für besondere Reihenfolgen erweitert wurde.

Damit ist es möglich für ein Interface Foo eine Util Klasse Foos, welche unter anderen im JDK bei java.util.Collection und deren Subinterfaces üblich sind, zu vereinfachen bzw. ganz aufzulösen. Die Funktionalität kann nun einfach im Interface selbst umgesetzt werden. Perfekte Kandidaten sind dabei Methoden von z.B. Arrays

Siehe auch: http://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html#static

Default Methoden in Interfaces

Zusätzlich können Interfaces in Java 8 um Default Methoden erweitert werden. Man erschafft damit Methoden die sich die Klassen, welche das Interface beerben in voller Funktionalität aneigenen. Dies birgt den Vorteil der Single-Inheritance in Java entgegenwirken zu können. Zusätzlich kann man damit neue Funktionalität zu Intefaces hinzufügen, ohne die Binärkompatiblität mit älterem Code zu brechen.

public interface Human {  
   void eat();  
   int count(String… obj);  
   default void breathe() {  
     // ...  
   }  
 }

Jegliches weitere Interface, welches das Interfaces Human erweitert, kann nun auf 3 Arten mit der default Methode umgehen:

      1. Sie unbeachtet lassen, dabei erbt sie die Funktionalität der default Methode.
      2. Sie erneut deklarieren, so dass sie, wie die ansonsten üblichen Methoden in Interfaces abstrakt ist, und somit implementiert werden muss.
      3. Sie überschreiben mittels neuer default Methode.

Siehe auch: http://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html

Eine ausführlichere Zusammenfassung rund um das Thema Interface findet sich unter http://java-latte.blogspot.co.at/2014/01/everything-about-interface-in-java.html

Ähnliche Artikel:


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

3 Antworten zu „Java 8 – Erweiterungen rund ums Interface“

  1. […] Erweiterungen rund ums Interface […]

  2. […] Methode definieren, kann jedoch beliebig viele default und static Methoden (siehe meinen Blogpost Java 8 – Erweiterungen rund ums Interface) […]

  3. […] zu ermöglichen. Hierfür wurde von den neuen Möglichkeiten der Interfaces gebrauch gemacht: den default Methoden. Damit wurde zusätzlich sichergestellt, dass die Binär-Kompatiblität zu alten Java […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*