接口回调示例

public class Test_Main01 implements CallBack{

	private static String msg;//记录子线程的话
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//第一种:外部类实现接口
//		CallBack cb=new MyCallBack(msg);
		//第二种:静态内部类实现接口
//		CallBack cb=new MyCallBack1();
		//第三种:当前类实现接口
		//CallBack cb=new Test_Main01();
		//第四种:匿名内部类实现接口
		CallBack cb=new CallBack() {
			
			@Override
			public void sendMsg(String str) {
				// TODO Auto-generated method stub
				msg=str;
				System.out.println("匿名内部类实现接口:"+msg);
			}
		};
		//创建线程并启动
		MyThread thread=new MyThread(cb);
		thread.start();
		
		for(int i=1;i<11;i++)
		{
			System.out.println("主线程:"+i);
		}
	}
	//使用静态内部类实现接口
	private static class MyCallBack1 implements CallBack{

		@Override
		public void sendMsg(String str) {
			// TODO Auto-generated method stub
			msg=str;
			System.out.println("回调:"+msg);
		}
		
	}
	@Override
	public void sendMsg(String str) {
		// TODO Auto-generated method stub
		msg=str;
		System.out.println("当前类实现接口:"+msg);
	}
}



public class MyThread extends Thread{

	private CallBack cb;
	public MyThread(CallBack cb) {
		// TODO Auto-generated constructor stub
		this.cb=cb;
	}
	@Override
	public void run() {
		for(char i='A';i<='Z';i++)
		{
			System.out.println("子线程:"+i);
		}
		cb.sendMsg("子线程完毕");
	}
}


/**
 * 线程类实现网络数据下载并将下载内容通过接口回调的形式回调到调用的地方*/
public class HttpThread extends Thread{

	public interface CallBack{
		void sendJSONStr(String str);
	}
	private CallBack callback;
	public HttpThread(CallBack cb) {
		// TODO Auto-generated constructor stub
		callback=cb;
	}
	@Override
	public void run() {
		//OkHttp实现网络数据请求,结果为字符串
		//代码……
		callback.sendJSONStr("[11,22,33,44,55]");
	}
}



public class MyCallBack implements CallBack{
	private String msg;
	public MyCallBack(String m) {
		// TODO Auto-generated constructor stub
		msg=m;
	}
	@Override
	public void sendMsg(String str) {
		// TODO Auto-generated method stub
		msg=str;
		
		System.out.println(msg);
	}

}

//定义接口
public interface CallBack {

	//创建抽象方法
	void sendMsg(String str);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值