Citat:
Ursprungligen postat av
zikac
Hur skulle det syntaktiska socket fungera om objektet har fler metoder än den som implementerar det funktionella gränssnittet, eller om fler än ett implementeras?
Typen i uttrycket. Man kan ju kräva att uttrycket man försöker anropa bara har en möjlig metod i hierarkin.
dvs. om min klass A implementerar Runnable och Callable, och jag sedan skapar ett objekt a av den klassen, så måste jag antingen casta om som
eller mer troligt, skicka in/göra om till en annan variabel
Kod:
void metod(Runnable b)
{
b();
}
metod(a);
Eftersom kompilatorn ser hierarkin borde den kunna ge kompileringsfel om jag gör
Om A däremot implementerar Runnable och Predicate borde det ju inte vara några problem med att hitta rätt om detta görs: