在C和C++中,函数的传递可以通过函数指针来实现。在C#中,函数传递可以通过委托、Action、Func来实现。Java中没有函数指针、没有委托,那函数要如何传递呢?可以通过以下两种方式实现。1、通过handler,在A类中实例化B类,并传递一个handler到B中。B通过handler发送消息,A中接收到消息后,执行相应的函数。严格的来说,这种不算是函数传递,只是变相达到了函数调用的目的。2、通过接口来实现。下面是实现的代码。ICallback.javapackage com.sparkle.sgmjl;
public interface ICallback {
abstract void callback(String data);
}在A类中传递ICallback给B类,代码如下。ClassA.javaClassA classA=new ClassA( new ICallback() {
@Override
public void callback(String data) {
Test(data);
}
}); private void Test(String data)
{
Log.e("TEST",data))
}ClassB.javapublic ClassB(ICallback icallback)
{
icallback("Call OK");
}以上简记,以备后用。Java中介者设计模式 http://www.linuxidc.com/Linux/2014-07/104319.htmJava 设计模式之模板方法开发中应用 http://www.linuxidc.com/Linux/2014-07/104318.htm设计模式之 Java 中的单例模式(Singleton) http://www.linuxidc.com/Linux/2014-06/103542.htmJava对象序列化 http://www.linuxidc.com/Linux/2014-10/107584.htm大话设计模式(带目录完整版) PDF+源代码 http://www.linuxidc.com/Linux/2014-08/105152.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-11/109056.htm