richiamate in Java sono utili quando si ha bisogno di un metodo per accettare un riferimento a un altro metodo come argomento . Ad esempio, un metodo plotting grafico potrebbe assumere una funzione " coseno " come parametro "peccato" o . In Java non è possibile inviare i puntatori a funzione , come si può in C , quindi è necessario simulare richiamate attraverso l'uso di interfacce . È possibile passare un'interfaccia come argomento e quindi la corrispondente applicazione fornisce la versione di codice da eseguire . Istruzioni
1
Aprire il file Java in un editor come Eclipse , NetBeans o JBuilder X.
2
Creare un'interfaccia e due classi che implementano l'interfaccia con l'aggiunta del seguendo il codice sopra la funzione principale :
interfaccia Fruit {
vuoto callback_method (); }
classe
di Apple implementa Fruit {
< p > public void callback_method ( ) {
System.out.println ( " richiamata - Apple" ) ; }
}
classe
Banana implementa Frutta {
public void callback_method ( ) {
System.out.println ( " richiamata - Banana "); }
}
< p > Ogni classe che implementa l'interfaccia deve avere una versione del metodo definito nell'interfaccia .
3
Creare una classe " chiamante " che ha un metodo per avviare la richiamata con l'aggiunta del codice :
classe
chiamante {
registro pubblico ( frutta frutta ) {
fruit.callback_method (); }
}
nell'esempio, il metodo " registro " può assumere sia un " Apple" o " banana " come input e poi eseguire il matching " callback_method " per quella versione .
4 < p > Crea " chiamante " , "Apple" e oggetti "Banana" e poi passare entrambe le versioni della "Frutta" di metodo " registro " dell'oggetto " chiamante " , aggiungendo il seguente codice come funzione principale :
< p > public static void main ( String [] args ) {
chiamante chiamante = new chiamante ( ) ;
Frutta mela = new apple ( ) ; //Apple versione di Fruit
< p > Frutta Banana Banana = new ( ) ; versione //banana della frutta
caller.register ( mela) ; //visualizza " richiamata - apple"
caller.register ( banana) ; //visualizza " richiamata - Banana "
}
Ciò consente di evitare di dover creare più versioni della classe " chiamante " per ogni applicazione . Qualsiasi implementazione di "Frutta" può essere passato al " chiamante ", che carica il metodo di callback corrispondente per quella versione .
5
Salvare il file Java , compilare ed eseguire il programma per visualizzare i callback .