Path: csiph.com!feeder.erje.net!2.eu.feeder.erje.net!news-2.dfn.de!news.dfn.de!news.uni-stuttgart.de!news.enyo.de!.POSTED!not-for-mail From: Florian Weimer Newsgroups: de.comp.lang.java Subject: Re: =?iso-8859-1?Q?Grunds=E4tzliche?= Frage zu Interfaces Date: Thu, 07 Jan 2016 21:31:59 +0100 Lines: 14 Message-ID: <878u41ku68.fsf@mid.deneb.enyo.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.enyo.de 1452198720 32298 192.168.18.20 (7 Jan 2016 20:32:00 GMT) X-Complaints-To: news@enyo.de Cancel-Lock: sha1:5YMKwdWagVGHUQrG6pCxLq9O1D0= Xref: csiph.com de.comp.lang.java:12896 * Thomas Grund: >> Dann sage ich es mal anders: Für die wichtige Rolle, die Interfaces >> *heute* spielen, ist "Ausgleich für fehlende Mehrfachvererbung" ziemlich >> irrelevant. D'accord? > > D'accord! Gegenfrage: Der heutige Einsatz von Interfaces ist ja vor > allem, die Austauschbarkeit der Implementierungen sicherzustellen > (also z.B. OpenJPA durch Hibernate ersetzen zu können, ohne den Code > ändern zu müssen). Kann man etwas Vergleichbares auch ohne Interfaces? Mit abstrakten Klassen geht das. Ältere Java-APIs machen das auch (z.B. java.io.InputStream), weil der Klassen-basierte Methodenaufruf ohne JIT-Compiler so viel schneller ist als der Umweg über Interfaces.