回调

package mypro01;

public abstract class MyFrame {
    public void paint() {
        System.out.println("MyFrame is painting");
    }
    //抽象方法 :子类都会重写该方法
    
    public abstract void write();

}

//接口
interface IMyFrame{
     void read();
}
package mypro01;

public class PaintFrame {
    public static void drawFrame(MyFrame f) {
        System.out.println("启动线程");
        //画窗口
        f.paint();
        f.write();
        System.out.println("线程结束");        
    }
    
    public static void readFrame(IMyFrame i) {
        System.out.println("启动线程 readFrame");
        //画窗口
        i.read();        
        System.out.println("结束线程 readFrame ");        
    }
    
    public static void main(String[] args) {
        drawFrame(new GameFrame1());
        drawFrame(new GameFrame2());
        readFrame(new GameFrame3());
    }

}

//子类继承1
class GameFrame1 extends MyFrame{
    public void paint() {
        System.out.println("GameFrame1 is painting");
    }
    
    public  void write() {
        System.out.println("GameFrame1 is writting");
    }
}

//子类继承2
class GameFrame2 extends MyFrame{
    
    public  void write() {
        System.out.println("GameFrame2 is writting");
    }
}

//
class GameFrame3 implements IMyFrame{
    public void read() {
        System.out.println("GameFrame3 is reading");
    }
}

 

posted on 2020-03-05 16:59  happygril3  阅读(107)  评论(0)    收藏  举报

导航