zoukankan      html  css  js  c++  java
  • 学习Spring必须了解的基础知识——回调机制

    上面这张图如果能看得懂就能理解什么是回调机制:

            A对象在调用a()方法时会调用B对象的b()方法,b()方法必须能调用A对象的callback()方法。

    谁白了:a()方法有B对象b()方法的引用,b()方法有对a对象中callback()的引用。

    package priv.lirenhe.callback;


    public interface CallBack {

    public void claimAnswer(String answer); 


    }
    package priv.lirenhe.callback;


    public interface TeacherA {

    public void askQuestion(StudentB student);


    }
    package priv.lirenhe.callback;


    public class TeacherAImpl implements CallBack,TeacherA{//实现CallBack类从而实现claimAnswer方法


    public TeacherAImpl() {
    // TODO Auto-generated constructor stub
    }


    @Override
    public void claimAnswer(String answer) {
    System.out.println("该同学的答案是:"+answer);

    }


    @Override
    public void askQuestion(StudentB student){//有对对象B的引用
    student.resolveQues(this);
    }



    }
    package priv.lirenhe.callback;


    public interface StudentB {


    public String resolveQues(CallBack callBack);


    }
    package priv.lirenhe.callback;


    public class StudentBImpl implements StudentB {


    public StudentBImpl() {
    // TODO Auto-generated constructor stub
    }


    @Override
    public String resolveQues(CallBack callBack) {//有CallBack对象的应用
    String answer = "你去死";
    callBack.claimAnswer(answer);
    return answer;
    }


    }
    package priv.lirenhe.callback;


    public class TestCallBack {


    public TestCallBack() {
    // TODO Auto-generated constructor stub
    }


    public static void main(String[] args) {
    StudentBImpl studentB = new StudentBImpl();
    TeacherAImpl teacherA = new TeacherAImpl();
    teacherA.askQuestion(studentB);
    }
    }


  • 相关阅读:
    学习MSMQ笔记
    swfobject 2.0 使用(转)
    发现博客园的一个小问题
    4月10日
    NHibernate的一点思考
    最新手机号码正则表达式
    如何在页面完美显示版权符号(转)
    OpenGL由已知控制点绘制模拟曲面地形
    android自定义view[控件重用]时出现“No resource identifier found for attribute *** in package *** ”
    基于ARM的模拟器
  • 原文地址:https://www.cnblogs.com/lirenhe/p/9774475.html
Copyright © 2011-2022 走看看