Path: csiph.com!goblin1!goblin3!goblin.stu.neva.ru!news.netfront.net!not-for-mail From: Lothar Kimmeringer Newsgroups: de.comp.lang.java Subject: Re: =?iso-8859-1?Q?Grunds=E4tzliche?= Frage zu Interfaces Date: Fri, 8 Jan 2016 19:13:57 +0100 Organization: Organization?! Only chaos here! Lines: 32 Message-ID: <15bcgzeocfq4b.dlg@kimmeringer.de> References: <878u41ku68.fsf@mid.deneb.enyo.de> Reply-To: news@kimmeringer.de NNTP-Posting-Host: 77.4.71.55 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Trace: adenine.netfront.net 1452276837 1944 77.4.71.55 (8 Jan 2016 18:13:57 GMT) X-Complaints-To: news@netfront.net NNTP-Posting-Date: Fri, 8 Jan 2016 18:13:57 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.1de Xref: csiph.com de.comp.lang.java:12900 Florian Weimer wrote: > * Thomas Grund: > >> 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. java.io.InputStream hat viel implementiert, so dass ich das als Beispiel irgendwie nicht gelten lassen kann. Wuerde man InputStream als Interface haben, muesste jede Implementierung zwei read- Methoden, available, reset, markSupported, etc. implementieren statt nur public int read() throws IOException. Und das mit den unterschiedlichen Ausfuehrungszeiten haette ich gerne einmal in Zahlen. Davon hoere ich jetzt zum ersten mal. Gruesse, Lothar -- Lothar Kimmeringer E-Mail: spamfang@kimmeringer.de PGP-encrypted mails preferred (Key-ID: 0x8BC3CD81) Always remember: The answer is forty-two, there can only be wrong questions! --- news://freenews.netfront.net/ - complaints: news@netfront.net ---