[Javalist] Java8 - Alapértelmezett metódustörzs interfészekben

Vig Balázs balazs.vig at datasolutions.hu
2013. Ápr. 11., Cs, 11:10:14 CEST


Sziasztok!

A mostani Java Magazine-ban van egy témába vágó cikk(sorozat). Ott (
http://www.oraclejavamagazine-digital.com/javamagazine/20130304/?pg=41&pm=1&u1=friend)
az egyik mondat felkeltette a figyelmemet:

"if an implementing class already has a method that has the same name and
signautre as a new default method, the pre-existing implementation will
always be used in preference to the default implementation."

Értem én a logikát, de egy kicsit megijeszt...

A fenti szabály alapján mi fog történni, ha az osztályomban van egy boolean
compare(a long, b long){...} metódus, amit én hívtam két int-tel is, és az
alap interfész bevezeti a boolean compare(a int, b int){...} metódust?
(tudom, egy kicsit hajánál fogva előráncigált példa, de a problémát
mutatja)

A fenti mondat és a hívási szabályok szerint ilyenkor az interfészben
definiáltat fogja meghívni, de az nem feltétlenül az, amit én eredetileg
akartam.



Üdv:
*VigB*
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20130411/49b14821/attachment.html>


További információk a(z) Javalist levelezőlistáról