回调的实现(CallBack)

回调的实现(CallBack)又叫钩子,又叫模板方法模式

小示例

Myframe.java

package CallBack;

//import com.sun.prism.Graphics;

//public class Myframe {                           //第一种
//    public void paint() {
//        System.out.println("把自己的窗口画出来");
//    }
//}
                                                  //第二种
interface IMyframe{
    void paint();        //抽象类  abstract
}

PaintFrame.java

package CallBack;

//import java.awt.Frame;

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){
        GameFrame01 a=new GameFrame01();
//        GameFrame02 b=new GameFrame02();
//        Myframe s=new Myframe();
//        drawFrame(a);
        drawFrame(a);
        drawFrame(new GameFrame02());
        
    }
    
}
//class Gameframe01 extends Myframe{                   //第一种方式,通过子类继承父类实现.
//    public void paint() {
//        System.out.println("这是一个子类");
//    }
//}
class GameFrame01 implements IMyframe{               //第二种,通过接口实现,用的最多的是接口.

    @Override
    public void paint() {
        // TODO Auto-generated method stub
        System.out.println("这是GameFrame01");
    }
    
    
}
class GameFrame02 implements IMyframe{

    @Override
    public void paint() {
        // TODO Auto-generated method stub
        System.out.println("这是GameFrame02");
    }
    
}

 

posted on 2019-07-15 19:59  Mentality  阅读(417)  评论(0编辑  收藏  举报