歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java中的函數傳遞

在C和C++中,函數的傳遞可以通過函數指針來實現。在C#中,函數傳遞可以通過委托、Action、Func來實現。Java中沒有函數指針、沒有委托,那函數要如何傳遞呢?

可以通過以下兩種方式實現。

1、通過handler,在A類中實例化B類,並傳遞一個handler到B中。B通過handler發送消息,A中接收到消息後,執行相應的函數。嚴格的來說,這種不算是函數傳遞,只是變相達到了函數調用的目的。

2、通過接口來實現。下面是實現的代碼。

ICallback.java

package com.sparkle.sgmjl;


public interface ICallback {
 abstract void callback(String data);
}

在A類中傳遞ICallback給B類,代碼如下。

ClassA.java

ClassA classA=new ClassA( new ICallback() {
   
   @Override
   public void callback(String data) {
    Test(data);
   }
  }); 

private void Test(String data)
{
  Log.e("TEST",data))
}

ClassB.java

public ClassB(ICallback icallback)
 {
  icallback("Call OK"); 
 }

以上簡記,以備後用。

Java中介者設計模式 http://www.linuxidc.com/Linux/2014-07/104319.htm

Java 設計模式之模板方法開發中應用 http://www.linuxidc.com/Linux/2014-07/104318.htm

設計模式之 Java 中的單例模式(Singleton) http://www.linuxidc.com/Linux/2014-06/103542.htm

Java對象序列化 http://www.linuxidc.com/Linux/2014-10/107584.htm

大話設計模式(帶目錄完整版) PDF+源代碼 http://www.linuxidc.com/Linux/2014-08/105152.htm

Copyright © Linux教程網 All Rights Reserved