java的回调
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的回调的更多相关文章
- Java学习之Java接口回调理解
Java接口回调 在Java学习中有个比较重要的知识点,就是今天我们要讲的接口回调.接口回调的理解如果解释起来会比较抽象,我一般喜欢用一个或几个经典的例子来帮助加深理解. 举例:老板分派给员工做事,员 ...
- java基础-回调函数(callback)
java基础-回调函数(callback) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数 ...
- Java:回调机制
引用:http://blog.sina.com.cn/s/blog_48cf38890100go6x.html 1. 什么是回调函数 回调函数(callback Function),顾名思义, ...
- 16)JAVA实现回调(Android,Swing中各类listener的实现)
熟悉MS-Windows和X Windows事件驱动设计模式的开发人员,通常是把一个方法的指针传递给事件源,当某一事件发生时来调用这个方法(也称为"回调").Java ...
- java中回调函数的理解
一,案例一 "通常大家说的回调函数一般就是按照别人(李四)的定好的接口规范写,等待别人(张三)调用的函数,在C语言中,回调函数通常通过函数指针来传递:在Java中,通常就是编写另外一个类或类 ...
- java函数回调
Class A实现接口CallBack callback--背景1 class A中包含一个class B的引用b --背景2 class B有一个参数为callback的方法f(CallBack c ...
- Java中回调函数编写
package XXX.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStr ...
- Java接口回调机制
一.前言 最近在看android Fragment与Activity进行数据传递的部分,看到了接口回调的内容,今天来总结一下. 二.回调的含义和用途 1.什么是回调? 一般来说,模块之间都存在一定的调 ...
- java中回调函数的使用
package com.huawei.common; import java.sql.ResultSet;import java.sql.SQLException; /** * 回调函数 * @aut ...
随机推荐
- git获取远程服务器的指定分支
昨天糗大了...进入新公司,公司服务器上有Online为线上版本,开发版本默认的为Master,本地clone的开发版为master,公司用的git 自动部署(puh后服务器自动更新了代码...这个有 ...
- Java学习笔记之——包
可以利用包,把不同的类分类存放,方便管理 在同一个包下不允许出现同名的类,可以利用分包达到可以出现同名的类 (1)包的创建: 命名:尽量做到不重复 一般:域名倒置作为前缀,再加上功能等分包 eg: ...
- C#设计模式之三抽象工厂模式(AbstractFactory)【创建型】
一.引言 写了3篇有关设计模式的文章了,大家有了些反馈,说能从中学到一些东西,我感到很欣慰,那就继续努力.今天我要写第四个模式了,该模式叫抽象工厂.上一篇文章我们讲了[工厂方法]模式,它是为了解决[简 ...
- tpshop linux安装下注意事项
1. 安装目录不可读写---赋予权限 chmod -Rf 777 public 2.安装环境参考 https://lnmp.org/install.html 3.wget 若没有安装 yum 安装
- Human Motion Analysis with Wearable Inertial Sensors——阅读1
Human Motion Analysis with Wearable Inertial Sensors——阅读 博主认为对于做室内定位和导航的人这是一篇很很棒的文章,不是他的技术很牛,而是这是一篇医 ...
- JMeter 中实现发送Java请求
JMeter 中实现发送Java请求 1. 步骤1 新建JAVA项目 File -> New -> Java Project 如上图,填写Project Name,然后Next,打开以J ...
- Python 一键拉取Git分支源码自动解析并执行SQL语句
基于Python实现自动拉取Git分支源码自动解析并执行SQL语句 by:授客 QQ:1033553122 1.代码用途 开发过程中,研发人员会提交SQL更新脚本到Git源码库,然后测试负责去拉取这些 ...
- Keystone, Start, Failed to Load Bson
If you have installed the Keystone.js, and properly installed mongodb, but when tried to start the k ...
- 兼容性问题:backgroud-size支持IE8浏览器的方法
在工作中碰到一个问题:background-size是css3的新属性,当在IE8及其以下浏览器中不起作用,导致背景图片不能自适应元素的大小? 先看一个小demo: <!DOCTYPE html ...
- 关于WPF中TextBox使用SelectAll无效的问题的解决办法
1.首先保证你设置的SelectionBrush不是透明的颜色或者和背景色相同 2.在使用SelectAll之前要保证Textox以及获取到焦点. this.textbox.SelectionBrus ...