Maison  >  Article  >  Java  >  Partage d'exemples de code illustrant le mécanisme de livraison et de rappel de Java

Partage d'exemples de code illustrant le mécanisme de livraison et de rappel de Java

高洛峰
高洛峰original
2017-01-24 13:38:501545parcourir

Java passe par valeur ou référence
1. Paramètre de type d'origine passant

public void badSwap(int var1, int var2) 
{
int temp = var1; 
var1 = var2; 
var2 = temp;
}

2. >

Exécutez ces deux programmes, je pense que vous comprendrez : Java manipule les objets "par référence", mais il transmet les références d'objet aux méthodes "par valeur".
public void tricky(Point arg1, Point arg2)
{
 arg1.x = 100;
 arg1.y = 100;
 Point temp = arg1;
 arg1 = arg2;
 arg2 = temp;
}
public static void main(String [] args)
{
 Point pnt1 = new Point(0,0);
 Point pnt2 = new Point(0,0);
 System.out.println("X: " + pnt1.x + " Y: " +pnt1.y);
 System.out.println("X: " + pnt2.x + " Y: " +pnt2.y);
 System.out.println(" ");
 tricky(pnt1,pnt2);
 System.out.println("X: " + pnt1.x + " Y:" + pnt1.y);
 System.out.println("X: " + pnt2.x + " Y: " +pnt2.y);
}

Mécanisme de rappel Java

Spring l'utilise largement Maintenant que nous avons compris le mécanisme de rappel Java, voici une brève introduction au mécanisme de rappel Java :

En un mot, le rappel est un mode d'appel bidirectionnel. l'appelé le fera également. Appeler l'autre partie est appelé un rappel. "Si vous m'appelez, je vous rappellerai."


Regardez l'exemple suivant concernant le mécanisme de rappel :

Interface CallBackInterface :

Class ClassB :
public interface CallBackInterface {
 void save();
}

Classe ClassA :
public class ClassB implements CallBackInterface {
 
public void save() {
System.out.println("执行保存操作!");
}
//
public void add()
{
 
    //这里调用ClassA的方法 同时ClasssB又会回调ClassB的save方法
    new ClassA().executeSave(new ClassB());
 }
 
}

Un exemple plus classique d'utilisation de fonctions de rappel (utilisant des classes anonymes Java) omet ici le code source
public class ClassA {
 
 public void executeSave(CallBackInterface callBackInterface)
 {
 getConn();
 callBackInterface.save();  //you call me
 realse();
 }
 public void getConn()
 {
 System.out.println("获取数据库连接!");
 }
 public void realse()
 {
 System.out.println("释放数据库连接!");
 }
}

Pour plus d'exemples de code illustrant le mécanisme de livraison et de rappel de Java, veuillez prêter attention au site Web PHP chinois pour les articles connexes !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn