java的回调

1,明确什么是回调方法

2,采用接口来实现回调

java同步回调

一个类实现了接口,将他传递给另一个类,在另一个类调用接口中方法

public class Bar implements Foo.FooCallback {

    public void eatFood() {
System.out.println("in eatFood() ");
} //这是回调方法
@Override
public void eat(String food) {
System.out.println("【@】" + food);
} }
public class Foo{

   public FooCallback fooCallback;

   public Foo(FooCallback fooCallback) {
this.fooCallback = fooCallback;
} public interface FooCallback{
public void eat(String food);
} public void say() {
fooCallback.eat("西安蛋炒饭");
} }
public class demo {
public static void main(String args[]) {
Bar bar = new Bar();
Foo foo = new Foo(bar);
foo.say();
}
}

java异步回调

其实和同步回调差不多,只是新开线程,然后在新线程中回调接口中的方法

public interface EatRice {
public void eat(String food);
}
public class XiaoMing implements EatRice {

    public void say() {

    }

    @Override
public void eat(String food) {
System.out.print("小明和小李一起去吃" + food);
}
}
public class XiaoLi {// 小李

    protected EatRice er;

    public void setEatRiceListener(EatRice er, String food) {
this.er = er;
washFace(food);
} public void washFace(String food) { System.out.print("小李要洗漱"); new Thread(new Runnable() { @Override
public void run() {
try {
// 小李洗漱的同时小明玩手机,开启线程实现异步
play(); Thread.sleep();
System.out.print("10秒后 ");
// B调用A的方法
er.eat(food);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
} public void play() {
System.out.println(" 小明要玩手机");
} }
    public static void main(String[] args) {

        EatRice er = new XiaoMing();
new XiaoLi().setEatRiceListener(er, "小龙虾");
}

java的回调的更多相关文章

  1. Java学习之Java接口回调理解

    Java接口回调 在Java学习中有个比较重要的知识点,就是今天我们要讲的接口回调.接口回调的理解如果解释起来会比较抽象,我一般喜欢用一个或几个经典的例子来帮助加深理解. 举例:老板分派给员工做事,员 ...

  2. java基础-回调函数(callback)

    java基础-回调函数(callback) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数 ...

  3. Java:回调机制

    引用:http://blog.sina.com.cn/s/blog_48cf38890100go6x.html 1.  什么是回调函数    回调函数(callback Function),顾名思义, ...

  4. 16)JAVA实现回调(Android,Swing中各类listener的实现)

           熟悉MS-Windows和X Windows事件驱动设计模式的开发人员,通常是把一个方法的指针传递给事件源,当某一事件发生时来调用这个方法(也称为"回调").Java ...

  5. java中回调函数的理解

    一,案例一 "通常大家说的回调函数一般就是按照别人(李四)的定好的接口规范写,等待别人(张三)调用的函数,在C语言中,回调函数通常通过函数指针来传递:在Java中,通常就是编写另外一个类或类 ...

  6. java函数回调

    Class A实现接口CallBack callback--背景1 class A中包含一个class B的引用b --背景2 class B有一个参数为callback的方法f(CallBack c ...

  7. Java中回调函数编写

    package XXX.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStr ...

  8. Java接口回调机制

    一.前言 最近在看android Fragment与Activity进行数据传递的部分,看到了接口回调的内容,今天来总结一下. 二.回调的含义和用途 1.什么是回调? 一般来说,模块之间都存在一定的调 ...

  9. java中回调函数的使用

    package com.huawei.common; import java.sql.ResultSet;import java.sql.SQLException; /** * 回调函数 * @aut ...

随机推荐

  1. [android] 获取系统的联系人信息

    内容提供是实质上是个接口,后门,他给别人提供数据,系统联系人是个比较复杂的内容通过者. 找到/data/data/com.android.providers.contacts/contacts2.db ...

  2. Java学习笔记之——Manth类和String类

    (1) Math:常用的数学运算,都是静态方法 方法摘要 static double abs(double a) 返回 double 值的绝对值. static float abs(float a) ...

  3. JavaWeb学习日记----表单提交方式

    1.表单提交方式 (1) 使用input控件中的submit提交 代码如下: <!DOCTYPE html> <html lang="en"> <he ...

  4. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/CanUnbuffer

    在执行spark on hive 的时候在  sql.show()处报错 : Exception in thread "main" java.lang.NoClassDefFoun ...

  5. javascript event 事件解析

    event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout ...

  6. 13.Odoo产品分析 (二) – 商业板块(6) –采购(3)

    接上一篇  查看Odoo产品分析系列--目录 接上一篇Odoo产品分析 (二) – 商业板块(6) –采购(2) 7. 仓库 仓库是在安装采购管理模块时出现的菜单.用于管理工厂库存,包括已经在手的货物 ...

  7. Mycat 中间件配置初探与入门操作

    Mycat中间件配置初探与入门操作 By:授客 QQ:1033553122 实践环境 Mycat-server-1.5.1-RELEASE-20161130213509-win.tar.gz 下载地址 ...

  8. (后端)Mybatis中#{}和${}传参的区别及#和$的区别小结(转)

    原文地址:https://www.cnblogs.com/zqr99/p/8094234.html 最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下, ...

  9. oracle测试环境表空间清理

    测试场景下,使用的oralce遇到表空间的占用超大,可以采用如下的方式进行空间的清理 首先使用sqlplus连接数据库sqlplus sys/password@orcl as sysdba 之类进行数 ...

  10. JHipster生成单体架构的应用示例

    本文演示如何用JHipster生成一个单体架构风格的应用. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用名:app1 实体名:role 主机IP:192.168.2 ...