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. git获取远程服务器的指定分支

    昨天糗大了...进入新公司,公司服务器上有Online为线上版本,开发版本默认的为Master,本地clone的开发版为master,公司用的git 自动部署(puh后服务器自动更新了代码...这个有 ...

  2. Java学习笔记之——包

    可以利用包,把不同的类分类存放,方便管理 在同一个包下不允许出现同名的类,可以利用分包达到可以出现同名的类 (1)包的创建: 命名:尽量做到不重复 一般:域名倒置作为前缀,再加上功能等分包 eg:   ...

  3. C#设计模式之三抽象工厂模式(AbstractFactory)【创建型】

    一.引言 写了3篇有关设计模式的文章了,大家有了些反馈,说能从中学到一些东西,我感到很欣慰,那就继续努力.今天我要写第四个模式了,该模式叫抽象工厂.上一篇文章我们讲了[工厂方法]模式,它是为了解决[简 ...

  4. tpshop linux安装下注意事项

    1. 安装目录不可读写---赋予权限 chmod -Rf 777 public 2.安装环境参考 https://lnmp.org/install.html 3.wget 若没有安装 yum 安装

  5. Human Motion Analysis with Wearable Inertial Sensors——阅读1

    Human Motion Analysis with Wearable Inertial Sensors——阅读 博主认为对于做室内定位和导航的人这是一篇很很棒的文章,不是他的技术很牛,而是这是一篇医 ...

  6. JMeter 中实现发送Java请求

    JMeter 中实现发送Java请求 1.  步骤1 新建JAVA项目 File -> New -> Java Project 如上图,填写Project Name,然后Next,打开以J ...

  7. Python 一键拉取Git分支源码自动解析并执行SQL语句

    基于Python实现自动拉取Git分支源码自动解析并执行SQL语句 by:授客 QQ:1033553122 1.代码用途 开发过程中,研发人员会提交SQL更新脚本到Git源码库,然后测试负责去拉取这些 ...

  8. Keystone, Start, Failed to Load Bson

    If you have installed the Keystone.js, and properly installed mongodb, but when tried to start the k ...

  9. 兼容性问题:backgroud-size支持IE8浏览器的方法

    在工作中碰到一个问题:background-size是css3的新属性,当在IE8及其以下浏览器中不起作用,导致背景图片不能自适应元素的大小? 先看一个小demo: <!DOCTYPE html ...

  10. 关于WPF中TextBox使用SelectAll无效的问题的解决办法

    1.首先保证你设置的SelectionBrush不是透明的颜色或者和背景色相同 2.在使用SelectAll之前要保证Textox以及获取到焦点. this.textbox.SelectionBrus ...