Heim  >  Artikel  >  Java  >  Teilen Sie Codebeispiele, die den Übermittlungs- und Rückrufmechanismus von Java veranschaulichen

Teilen Sie Codebeispiele, die den Übermittlungs- und Rückrufmechanismus von Java veranschaulichen

高洛峰
高洛峰Original
2017-01-24 13:38:501543Durchsuche

Java-Übergabe als Wert oder Referenz
1. Übergabe von Originaltypparametern

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

2. Übergabe von Referenztypparametern

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);
}

Führen Sie diese beiden Programme aus, ich glaube, Sie werden verstehen: Java manipuliert Objekte „nach Referenz“, übergibt Objektreferenzen jedoch „nach Wert“ an Methoden.

Java-Rückrufmechanismus
Spring verwendet ihn häufig Nachdem wir den Java-Callback-Mechanismus verstanden haben, finden Sie hier eine kurze Einführung in den Java-Callback-Mechanismus:

Kurz gesagt, Callback ist ein bidirektionaler Aufrufmodus. Der Angerufene wird auch den anderen Teilnehmer anrufen, was als Rückruf bezeichnet wird. „Wenn Sie mich anrufen, rufe ich zurück.“

Sehen Sie sich das folgende Beispiel zum Rückrufmechanismus an:

Interface CallBackInterface:

public interface CallBackInterface {
 void save();
}

Klasse ClassB:

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

Klasse ClassA:

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("释放数据库连接!");
 }
}

Ein klassischeres Beispiel für die Verwendung von Rückruffunktionen (unter Verwendung anonymer Java-Klassen) hier wird der Quellcode weggelassen

Weitere Codebeispiele, die den Übermittlungs- und Rückrufmechanismus von Java veranschaulichen, finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn