Callbacks em Java são úteis quando você precisa de um método para aceitar uma referência a outro método como um argumento. Por exemplo, um método gráfico de plotagem pode levar um "pecado" ou função " co-seno " como parâmetro. Em Java você não pode enviar ponteiros de função como você pode em C, por isso você deve simular chamadas de retorno através do uso de interfaces. Você pode passar uma interface como um argumento e , em seguida, a implementação correspondente fornece a versão do código para executar . Instruções
1
Abra o arquivo Java em um editor como o Eclipse, NetBeans ou JBuilder X.
2
Criar uma interface e duas classes que implementam a interface , adicionando o seguinte código acima de sua principal função :
interface de Fruit {
callback_method void ( ); }
classe a Apple implementa Fruit {
callback_method public void () {
System.out.println (" Callback - Apple" ); }
}
classe implementa Banana Fruit {
callback_method public void () {
System.out.println (" Callback - Banana "); }
}
Cada classe que implementa a interface deve ter uma versão do método definido na interface.
3
Crie uma classe " chamador ", que tem um método para iniciar a chamada de retorno , adicionando o código :
classe Caller {
registo público (Fruit fruto ) {
fruit.callback_method (); }
}
no exemplo, o método de "registrar" pode assumir qualquer um "Apple" ou " Banana " como sua entrada e , em seguida, executar o matching " callback_method " para essa versão .
4
Criar " Caller" , "Apple" e objetos "banana" e , em seguida, passar as duas versões do "fruto " para o método do objeto " Caller" "registrar" , adicionando o seguinte código como sua principal função :
public static void main ( string [] args ) {
Caller chamador = new Caller ();
Fruit maçã = new apple ( ); versão //Apple de Fruit Fotografia
bananeira Fruit = new Banana ( ) //versão de Banana Fruit Fotografia
caller.register ( maçã ); //exibe " Callback - apple"
caller.register ( bananas ); //exibe " Callback - Banana "
}
Isso permite evitar a necessidade de criar várias versões da classe " Caller" para cada implementação. Qualquer implementação de " Fruit " pode ser passado para o " chamador ", que carrega o método de retorno de chamada correspondente para essa versão.
5
Salve o arquivo Java, compilar e executar o programa para ver os retornos de chamada .