Java开发模式之回调接口

0x00 项目需求

开发Jar包,实现调用端A与Jar包B的实时通信,A、B可以随时消息互发。

0x01 回调实现

A引用B的Jar包后,主动调用B的函数,就可以发消息给B。
B发消息给A则使用interface接口回调

CallBackListener.java:

public interface CallBackListener {
	void callBack(String msg);
}

A.java:

public class A {
	public static void main(String[] args) {
		B b = new B(new CallBackListener() {		
			public void callBack(String msg) {//收到B的消息
				System.out.println("收到B端消息:"+msg);
			}		
		});
		b.A_to_B("你好我是A");//A发送消息到B
	}
}

B.java:

public class B {
	
	CallBackListener callBackListener;
	
	public B(CallBackListener callBackListener){
		this.callBackListener=callBackListener;
	}
	
	public void A_to_B(String msg) {
		System.out.println("收到A端消息:" + msg);
		callBackListener.callBack("你好我是B");//B可以随时调用callBackListener.callBack()函数发消息给A
	}
	
}

你可能感兴趣的:(【Java编程】,#,Java/JSP)