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

Peter Verhas peter at verhas.com
2013. Ápr. 11., Cs, 10:40:29 CEST


Nem látom a különbséget e között, és aközött, hogy van egy osztályod,  
amit extendálsz és abban kerül bele a

compare(a int, b int)

metódus (gondolom a változó név meg a típus véletlenül lett felcserélve).

Ha használtál egy interfészt, osztályt és az megváltozik egy új verzióban,
akkor az új másképp fog működni. Vagy én nézek el valamit?

Péter

Quoting "Vig Balázs" <balazs.vig at datasolutions.hu>:

> 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*
>



Dipl. Ing. Peter Verhas
peter at verhas.com
skype: verhas
+41 79 154 2095

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


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