程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 解釋Java的傳遞與回調機制的代碼示例分享

解釋Java的傳遞與回調機制的代碼示例分享

編輯:關於JAVA

解釋Java的傳遞與回調機制的代碼示例分享。本站提示廣大學習愛好者:(解釋Java的傳遞與回調機制的代碼示例分享)文章只能為提供參考,不一定能成為您想要的結果。以下是解釋Java的傳遞與回調機制的代碼示例分享正文


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 'by reference,' 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:

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("釋放數據庫銜接!");
 }
}

加倍經典的關於回調函數的應用的例子(應用java匿名類)這裡省去了源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved