Java实现的回调函数

一个回调函数的例子,首先是我为了完成在工厂工作的任务,但是我不能一直在工厂工作,
我必须知道工作完以后,就要下班回家。所以做了一个回调函数,通知我,今天工作做完了,可以下班回家啦。
具体可以看代码的实现(实现的方式很多吧其实,也可以写其它形式的回调函数代码)
(这个回调函数的实际用途:游戏玩家付费后,进行付费的相关操作(工厂上班),付费完成(工作结束),通知相关代码处理付费完成后的操作(下班回家))


回调函数的接口:

public interface ICallBack {
	public void workDone();
}


回调函数的管理器:

public class FunctionManager {
	public static ICallBack s_callback;
	private static FunctionManager function;

	private FunctionManager() {
	}

	public static FunctionManager getInstance() {
		if (function == null) {
			function = new FunctionManager();
		}
		return function;
	}

	public void Work(String name, ICallBack callback) {
		s_callback = callback;
		new Factory().workDay();
	}
}


具体处理相关事件:

public class Factory {
	public Factory() {
	}

	public void workDay() {
		System.out.println("I am in Factory work for my boss!!!: (");
		/**
		 * work Day is done...
		 */
		// callback
		FunctionManager.s_callback.workDone();
	}
}


测试代码:

public class Main {
	public static void main(String[] args) {
		FunctionManager.getInstance().Work("vokie", new ICallBack() {
			@Override
			public void workDone() {
				System.out.println("workDone : )");
				/**
				 * after work. do what you want~enjoy it~!
				 */
			}
		});
	}
}


运行结果:

I am in Factory work for my boss!!!: (
workDone : )



原文地址:https://www.cnblogs.com/vokie/p/3602057.html