JAVA菜鸟入门篇 - 回调(CallBack) 方法(二十)

回调方法是松耦合设计思想的体现,常用于Android控件响应。文中探讨了回调的原理和应用,通过引用多个技术博客资源进行阐述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回调(CallBack)

  回调方法是把功能定义和功能实现分离的一种手段,是一种松耦合的设计思想。

  Android中的控件响应就是利用了回调方法。

<span style="font-family:SimSun;font-size:18px;">class MyFrame{
	/**
	 * 回调方法的基类
	 */
	public void paint(){
		System.out.println("把自己窗口画出来");
	}
}

class GameFrame01 extends MyFrame{
	public void paint(){
		
		System.out.println("GameFrame01.paint()");
		System.out.println("画窗口01");
	}
}

class GameFrame02 extends MyFrame{
	
	public void paint(){
		System.out.println("GameFrame02.paint()");
		System.out.println("画窗口02");
	}
}

/**
 * 回调类
 * @author Dell
 *
 */
public class PaintFrame{
	
	public static void drawFrame(MyFrame f){
		
		System.out.println("启动线程");
		System.out.println("增加循环");
		System.out.println("查看消息栈");

		/**
		 * 画窗口
		 * 回调:把功能定义和功能实现分离
		 * 模板设计模式:多态的引用,由形参决定调用哪一个类
		 */
		f.paint();   
		System.out.println("启动缓存,增加效率");
	}

	public static void main(){
		
		//drawFrame(new GameFrame01());
		drawFrame(new GameFrame02());
	}
}</span>

在PaintFrame类中的drawFrame方法就是回调的监听方法:

<span style="font-family:SimSun;font-size:18px;">public static void drawFrame(MyFrame f){
		
		System.out.println("启动线程");
		System.out.println("增加循环");
		System.out.println("查看消息栈");

		/**
		 * 画窗口
		 * 回调:把功能定义和功能实现分离
		 * 模板设计模式:多态的引用,由形参决定调用哪一个类
		 */
		f.paint();   
		System.out.println("启动缓存,增加效率");
	}</span>

其中:

<span style="font-family:SimSun;font-size:18px;">f.paint();   </span>
就像一个钩子调用形参传递过来的变量来调用相应对象的方法

而在drawFrame方法中的其他部分就如同一个模板,不变的。


本文参考:

http://hellosure.iteye.com/blog/1130176

http://wangyang0311.iteye.com/blog/368031

http://blog.youkuaiyun.com/zuolongsnail/article/details/6598226

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值