J'ai rencontré à nouveau la fonction de rappel, cette fois, je prévois d'écrire et de le partager.
La fonction de rappel SO, ou la méthode de rappel dans le langage orienté objet, parlant simplement, c'est une fonction qui est appelée à un certain moment (l'événement se produit).
Pour plus de détails: il s'agit d'une fonction A, en tant que paramètre, qui est transmis dans une autre fonction B, puis B est appelé par B à un moment donné.
Il peut y avoir un doute ici.
Oui, vous pouvez en effet appeler une autre fonction dans le corps de la fonction. peut uniquement appeler la fonction B ne peut appeler la fonction.
Continuons à parler de la fonction de rappel. Les mots clés de l'événement sont-ils dans Python et JavaScript, vous pouvez directement passer la fonction comme un objet. Je dois faire Android maintenant, donc je ne peux toujours pas lâcher Java, et aujourd'hui j'ai rencontré le problème de cette fonction de rappel, que j'ai rencontrée de Java. Facile et comprendre la réalisation du rappel, mais Java, je ne pense pas, sinon je n'écrirai pas ce blog.
Eh bien, continuez à dire, la réalisation de la méthode de récupération en Java. L'objectif de ce blog est Java. Dans Java, la méthode de rappel est implémentée en empruntant l'interface.
"La référence à l'objet créé par la classe qui implémente une certaine interface est attribué à la variable d'interface de l'instruction d'interface, de sorte que la variable d'interface peut appeler la méthode d'implémentation de l'implémentation de l'interface."
Explication très ronde et brève:
Il y a une interface, il existe une méthode dans l'interface (cette méthode consiste à rappeler):
interface callbackInterface {void callbackMethod ();} Nous savons que les objets d'interface ne peuvent pas être utilisés directement, car les méthodes à l'intérieur ne sont pas réalisées. Trouvez donc une classe pour implémenter cette interface.
Ajoutez donc une classe maintenant pour implémenter cette interface:
interface callbackInterface {void callbackMethod ();} class callackclass implémente callbackInterface {@Override public voidMetho d () {System.out.println ("bonjour");}}Eh bien, la dernière étape: attribuez un objet qui implémente la classe qui implémente l'interface à la variable d'interface de l'instruction (je l'ai écrit dans une méthode, puis ajoutez un type de shell à l'extérieur):
Classe publique CallBackTest {interface callbackInterface {void callbackMethod ();} class callbackclass implémente callbackInterface {e public void callbackMethod () {System.out.println ("hello");}} public void showcallback () {callbackInterface ITFS = newbackclass (public void showcallback () {callbackInterface ITFS = New CallBlass ( );Vous pouvez maintenant appeler et essayer:
Test de classe publique {public static void main (String [] art) {new CallBackTest ().Si aucun accident, je vais réussir Hello, de toute façon, je suis ici.
Après avoir lu l'exemple, comment dois-je faire? , et parce que Java ne peut pas transmettre la méthode en tant que paramètre, nous devons mettre cette méthode de rappel dans l'interface (pourquoi pas une classe? Pas une classe abstraite? Au lieu de l'interface? Vous pouvez trouver les similitudes et les différences entre la catégorie abstraite et la Interface par vous-même et résolvez ce problème par vous-même). S'il y a une interface, il sera implémenté par classe. Si vous comprenez cela, il y a un foyer, qui est le polymorphisme.
Pour en dire un de plus, toute classe qui implémente l'interface CallbackInterface ici peut être placée derrière nouveau (c'est-à-dire la mission): ce qui suit (c'est-à-dire l'affectation):
Classe publique callbackTest {interface callbackInterface {void callbackMethod ();} class callbackclass implémente callbackInterface {e public void callbackMethod () {System.out.println ("hello");}} Class Contrôleur {private callbackinterface cbitf; // Pour simuler des incidents, il n'y a pas de valeur pratique, booléen publique quelque chose de réalisation "L'appel" et l'appel de la fonction de rappel sont implémentés. "Dosomething () {if (quelque chose = nouveau contrôleur (CBC);En fin de compte, cela est souvent rencontré dans Android.
Ce qui précède est la compréhension et l'utilisation des fonctions de récupération des individus.