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!