Callbacks i Java är användbart när du behöver en metod för att acceptera en hänvisning till en annan metod som ett argument . Till exempel kan ett diagram som visar metoden att ta en "synd " eller " cosinus "-funktionen som en parameter. I Java kan du inte skicka funktionspekare som du kan i C , så du måste simulera callbacks genom användning av gränssnitt . Du kan skicka ett gränssnitt som argument och sedan motsvarande tillämpning ger den version av koden som ska köras. Instruktioner
1
Öppna din Java -filen i en editor såsom Eclipse , NetBeans eller JBuilder X.
2
Skapa ett gränssnitt och två klasser som implementerar gränssnittet genom att lägga till efter koden ovan din huvudsakliga funktion :
gränssnitt frukt {
void callback_method ( ) ;
}
klass Apple implementerar frukt {
public void callback_method ( ) {
System.out.println ( " återuppringning - Apple " ) ;
}
}
klass Banana implementerar Fruit {
public void callback_method ( ) {
System.out.println ( " återuppringning - Banana " ) ;
}
}
Varje klass som implementerar gränssnittet måste ha en version av den metod som definieras i gränssnittet .
3
Skapa en " ringer " klass som har en metod för att initiera återuppringning genom att lägga till code :
class Caller {
offentliga register ( frukt frukt ) {
fruit.callback_method ( ) ;
}
}
i exemplet kan den " register " metoden tar antingen en " Apple " eller " Banana " som dess uppgifter och sedan köra matchning " callback_method " för den versionen .
4
Skapa " Caller " , " Apple " och " Banana " objekt och sedan passera båda versionerna av " Fruit " till " Caller " objektets " register " metoden , genom att lägga till följande kod som din huvudsakliga funktion :
public static void main ( String [] args ) {
Caller ringer = ny Caller ( ) ;
frukt äpple = ny Apple ( ) , //Apple version av frukt
frukt banan = ny Banana ( ) , //Banana version av frukt
caller.register ( äpple ) , //Bildskärmar " återuppringning - Apple "
caller.register ( banan ) ; //visar " återuppringning - Banana "
}
Detta låter dig slippa skapa flera versioner av " Caller " klass för varje tillämpning . Varje genomförandet av " frukt " kan skickas till " Caller ", som läser in motsvarande callback-metoden för den versionen .
5
Spara Java -filen , kompilera och köra programmet för att visa callbacks . Addera