050_面向对象_23_回调的实现
一、回调函数
也叫钩子函数、模版方法模式。
........//代码
........//代码
挂一个钩子//采用多态
........//代码
.........//代码
二、演示示例
package edu.aeon.test; /** * * @author aeon * */ public abstract class MyFrame { public void paint() { System.out.println("把自己窗口画出来!"); } } interface IMyFrame { void paint(); }
package edu.aeon.test; /** * [说明]:测试回调函数 * @author aeon * */ public class PaintFrame { public static void drawFrame(IMyFrame f) { System.out.println("启动线程"); System.out.println("增加循环"); System.out.println("查看消息栈"); // 画窗口 f.paint(); System.out.println("启动缓存,增加效率"); } public static void main(String[] args) { drawFrame(new GameFrame01()); } } class GameFrame01 /* extends MyFrame */ implements IMyFrame { public void paint() { System.out.println("GameFrame01.paint()"); System.out.println("画窗口"); } } class GameFrame02 extends MyFrame { public void paint() { System.out.println("GameFrame02.paint()"); System.out.println("画窗口"); } }
结果截图: