`

java 接口回调机制

    博客分类:
  • java
 
阅读更多
一、回调的含义和用途

1、什么是回调?

一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类同步调用、异步调用和回调。同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的函数名来调用之,使内存中对应函数B的代码得以执行。异步调用是一种类似消息或事件的机制解决了同步阻塞的问题,例如 A通知B后,他们各走各的路,互不影响,不用像同步调用那样, A通知 B后,非得等到B走完后, A才继续走 。回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口,例如A要调用B,B在执行完又要调用A。

2、回调的用途

回调一般用于层间协作,上层将本层函数安装在下层,这个函数就是回调,而下层在一定条件下触发回调。例如作为一个驱动,是一个底层,他在收到一个数据时,除了完成本层的处理工作外,还将进行回调,将这个数据交给上层应用层来做进一步处理,这在分层的数据通信中很普遍。

二、Java实现接口回调

在C/C++中,要实现回调函数,被调用函数要告诉调用者自己的指针地址。
但是Java没有指针地址,不能传递方法的地址,一般采用接口回调的方法来实现:把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被调用类实现的接口的方法。

原理:首先创建一个回调对象,然后再创建一个控制器对象,将回调对象需要被调用的方法告诉控制器对象,控制器对象负责检查某个场景是否出现或某个条件是否满足,当满足时,自动调用回调对象的方法。

例如老板A对员工B说,我现在交给你一个任务,并且我把我的电话号码给你,你一旦完成任务就给我打电话。

详细的代码如下:

1、创建一个回调接口

public interface CallBack
{
    public void doEvent();
}


2、创建回调接口的实现类,此例中,员工干完活后还要干什么事情是老板说了算的。

public class Boss implements CallBack
{
    public void doEvent()
    {
        System.out.println("打电话给老板,告知已经完成工作了");
    }
}


3、创建控制类,也就是本例中的员工对象,他要持有老板的地址(即回调接口)

public class Employee
{
    CallBack callBack;
    public Employee(CallBack callBack)
    {
        this.callBack=callBack;
    }
    public void doWork()
    {
        System.out.println("玩命干活中....");
        callBack.doEvent();
    }
}


4、测试类

public class TestMain
{
    public static void main(String[] args)
    {
        //创建控制器对象,将提供给他的回调对象传入
        Employee employee=new Employee(new Boss());
        //启动控制器对象运行
        employee.doWork();
    }
}



转自:http://www.codeceo.com/article/java-interface-call.html#0-tsina-1-37850-397232819ff9a47a7b7e80a40613cfe1








分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    深入了解Java接口回调机制

    深入了解Java接口回调机制 Java接口回调机制是Java语言中一種重要的编程机制,它允许在不同的类之间进行交互和数据传递。下面我们将通过实例和代码来了解Java接口回调机制的实现原理和应用场景。 一、什么是回调...

    Java接口回调机制

     近在看androidFragment与Activity进行数据传递的部分,看到了接口回调的内容,来总结一下。  二、回调的含义和用途  1、什么是回调?  一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为...

    Java利用接口实现回调

    在Java支持方法指针之前,Java接口不能提供一种实现回调的好方法。如果您习惯于传递在事件驱动编程模型中调用的函数指针,则您会喜欢本技巧。  熟悉MS-Windows和X Window System事件驱动编程模型的开发人员,习惯...

    接口回调demo

    在Java编程中,接口回调是一种常见的设计模式,用于实现对象之间的通信和事件处理。...在`InterfaceCallBackTest`的场景中,我们可以预期学习如何使用接口回调和反射来实现某种动态的事件通知机制。

    Java回调机制

    Java回调机制是软件设计模式中的一种,特别是在Java和Android开发中广泛应用。回调允许服务端对象在执行特定操作后,通知并调用客户端对象的方法。这种机制使得程序可以在异步环境中运行,即服务端处理完一个任务后...

    微信支付-商户支付模式一url接口回调-java版

    在这个Java版的实现中,我们将探讨如何利用URL接口回调来处理支付流程。 首先,我们需要理解URL接口回调的基本概念。在微信支付中,当用户完成支付后,微信服务器会主动向商家设定的回调URL发送一个POST请求,携带...

    java 接口回调实例详解

    接口回调机制可以帮助开发者实现松耦合的编程思想,从而提高代码的灵活性和可维护性。 什么是回调? ------------- 在 Java 中,回调是一个类A中的方法调用另一个类B中的方法,然后B类中的方法又调用A类中的方法,...

    android接口回调详解、简单例子+复杂例子

    在Android开发中,接口回调是一种常见的通信机制,用于在组件之间传递信息,特别是在异步操作中,如网络请求、文件读写等。接口回调能够帮助我们处理这些操作的结果,使得程序更加灵活和响应式。本篇文章将深入讲解...

    java 回调函数 实现

    在回调机制中,接口扮演着关键角色,因为它定义了被调用的回调方法。例如,`OnButtonClickListener`接口可能包含了当按钮被点击时需要执行的方法。 2. **回调函数的实现**:在描述中提到,回调函数是通过自己模拟...

    android接口回调

    在Android开发中,接口回调是一种常见的通信机制,用于在不同组件之间传递信息,尤其是在异步操作完成后更新UI或执行其他后续操作时。本篇将详细阐述Android接口回调的基本概念、实现方式以及其在实际开发中的应用。...

    理解接口回调

    这样,我们就建立了Activity和Fragment之间的回调机制,使得它们能够互相通信。 除了Activity与Fragment的通信,接口回调在其他场景下也有广泛应用,比如ListView的Adapter与宿主Activity、Service与Activity之间的...

    Java基础核心理解+什么是回调即回调机制讲解

    ### Java基础核心理解+什么是回调及回调机制讲解 #### 一、回调机制的引入与应用场景 在软件开发中,特别是面向对象编程语言如Java中,模块间的交互是至关重要的。根据调用方式的不同,可以将模块间的交互分为三种...

    接口回调实现简易购物车功能

    在这个例子中,`ShoppingCart`类并不直接与界面交互,而是通过回调机制将添加商品的结果传递给`UIUpdater`,保持了良好的模块化和解耦。这种方式使得购物车功能可以更灵活地与其他系统集成,比如库存管理系统或支付...

    Java异步回调机制实例解析共5页.pdf.zip

    Java异步回调机制是Java编程中一种常见的处理方式,它主要用于提高程序的执行效率和响应速度,尤其是在处理I/O密集型任务或者网络通信时。在Java中,异步回调允许程序在执行耗时操作时,不阻塞主线程,而是立即返回...

    接口回调demo完全解析

    通过这样的接口回调机制,我们可以构建出复杂的系统,其中组件之间可以通过回调进行通信,而无需直接依赖彼此。这种松耦合的设计使得代码更易于维护和扩展。在Android开发中,接口回调常用于Activity与Fragment之间...

    接口回调之Fragment之间通信

    "接口回调之Fragment之间通信"这一主题着重讲解了如何通过接口回调的方式解决Fragment之间的数据传递和事件交互问题。 首先,理解Fragment的基本概念和生命周期是必要的。Fragment有自己的创建、显示、隐藏、销毁等...

    给初学者的java回调demo

    Java回调是一种设计模式,它是当一个对象调用另一个对象的方法时,被调用对象通过某种方式在完成操作后反过来调用调用者的方法,这种机制就是回调。在Java中,回调通常通过接口或者抽象类来实现。这篇"给初学者的...

    匿名内部类实现接口回调

    在Java编程中,接口回调是一种常见的设计模式,用于在对象之间传递异步事件或实现通信。这个"匿名内部类实现接口回调"的示例旨在演示如何通过匿名内部类来简化回调函数的实现。下面我们将详细探讨接口回调的概念、...

    java回调机制1

    回调机制在Java中的实现通常涉及接口或抽象类。例如,可以定义一个`Calculator`接口,其中包含`add`方法,然后创建不同的实现类,如`SimpleCalculator`、`AdvancedCalculator`等。`Student`类则持有`Calculator`接口...

Global site tag (gtag.js) - Google Analytics