首頁  >  文章  >  Java  >  說明Java的傳遞與回呼機制的程式碼範例分享

說明Java的傳遞與回呼機制的程式碼範例分享

高洛峰
高洛峰原創
2017-01-24 13:38:501508瀏覽

java傳值還是傳引用
1.原始型別參數傳遞 

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

2.引用類型參數傳遞 

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

運行這兩個程序,相信你會明白的:Java manipulates objects ' but it passes object references to methods 'by value.

java回呼機制
spring大量使用了java回呼機制,下面對Java回呼機製作一些簡單的介紹:

一句話,回調是一種雙向調用模式,什麼意思呢,就是說,被呼叫方在被呼叫時也會呼叫對方,這就叫回調。 「If you call me, i will call back」。

看下面關於回呼機制的例子:

介面CallBackInterface :

public interface CallBackInterface {
 void save();
}

類ClassB:

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

類ClassA:o

類的類別)這裡省去了原始碼

更多說明Java的傳遞與回呼機制的程式碼範例分享相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn