⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callback.java

📁 回调函数的应用
💻 JAVA
字号:
package simon.tools.callback;

public class CallBack {

  public boolean conn = false;
  /**
   * 定义一个回调接口
   * <p>Title: </p>
   * <p>Description: </p>
   * <p>Copyright: Copyright (c) 2004</p>
   * <p>Company: </p>
   * @author not attributable
   * @version 1.0
   */
  interface ICallBack {
    void beforeRun(int i,String j, boolean conn);
    void afterRun(int i, String j, boolean conn);
  }

  /**
   * 一个回调类,其实什么也不必要做
   * <p>Title: </p>
   * <p>Description: </p>
   * <p>Copyright: Copyright (c) 2004</p>
   * <p>Company: </p>
   * @author not attributable
   * @version 1.0
   */
  class CallBackImpl implements ICallBack{
    public void beforeRun(int i, String j, boolean conn) {
    }
    public void afterRun(int i, String j, boolean conn) {
    }
  }

  private CallBackImpl createCallBackImpl() {
    return new CallBackImpl() {
      public void beforeRun(int i, String j, boolean conn) {
      System.out.println("before run! i="+i+";j="+j+"; conn is"+String.valueOf(conn));
    }
    public void afterRun(int i, String j, boolean conn) {
      System.out.println("after run! i="+i+";j="+j+"; conn is"+String.valueOf(conn));
    }

    };
  }

  /**
   * 在一个方法中测试一个加调类
   * @param i
   * @param j
   * @param cb
   */
  void testCallBack(int i,String j,CallBackImpl cb) {
    if(cb!=null) {
      cb.beforeRun(i, j, conn);
      cb.afterRun(i,j , conn);
    }
    conn = true;
  }
  /**
   * 测试
   * @param args
   */
  public static void main(String[] args) {
    CallBack cb = new CallBack();
    System.out.println("调用前,连接未未关闭!"+String.valueOf(cb.conn));
    cb.testCallBack(100,
                    new String("一百"),
                    cb.createCallBackImpl()
                    );
    System.out.println("回调过后,连接自动关闭了"+String.valueOf(cb.conn));
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -