回调的实现(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"); } }
原文:https://www.cnblogs.com/ssxblog/p/11191096.html