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


以上简记,以备后用。

posted @ 2014-04-18 14:32  _学而时习之  阅读(449)  评论(0)    收藏  举报