java 回调函数很好懂

首先先介绍回调函数的概念。比如客户端client,想要调用服务器端server的某个函数为你提供服务。比如炒西红柿炒蛋,cookTomato() 这时候,服务器端说,你先付钱才能为你服务,这时候服务器端要调用客户端的getMoney().才能为你继续服务。这里的getMoney就是回调函数了。而且这}getMoney()方法是一个接口方法,因为客户端只要给钱就好,不管是人民币还是美元,我都接受。

public interface Money(){

//要被回调的方法

void float getMoney();

}

public class Server {     //用Money接口作为参数  public boolean cookTomatoWithEgg(Money money){   System.out.println("有人要西红柿操蛋了,先给我钱,8元以上我才给你炒");     if( money.getMoney() >= 8){      System.out.println("开始洗西红柿");    System.out.println("开始炒菜");    System.out.println("完成了");    return true;   }       return false;  }     }

public class Client {     //吃中饭了想要西红柿操蛋,  public static void haveLunch(Server server){     boolean result = server.cookTomatoWithEgg(new Money() {       @Override    public float getMoney() {     System.out.println("回调方法,我付5元,人民币");     return 5;    }   });     if(!result){    System.out.println("钱不够");   }          result = server.cookTomatoWithEgg(new Money() {       @Override    public float getMoney() {     System.out.println("回调方法,我付10元,人民币");     return 10;    }   });          if(result){     System.out.println("终于吃到吃西红柿操蛋");    }  }      /**   * @param args   */  public static void main(String[] args) {   Client client = new Client();   Server server = new Server();   client.haveLunch(server);

 }

}

 

分享:http://jxg198168.iteye.com/blog/1885921

转载于:https://www.cnblogs.com/lippeixian/p/5027316.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mongoDB操作详细

简介 它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等等 关系型数据库中有一个 "表" 的概念,有 "字段" 的概念,有 "数据条目" 的概念 MongoDB中也同样有以上…

mysql 存储过程 on_MySQL存储过程的权限问题小结

MySQL的存储过程,没错,看起来好生僻的使用场景。问题源于一个开发同学提交了权限申请的工单,需要开通一些权限。本来是一个很正常的操作,但在我来看是比较着急且紧迫的,说来惭愧,忙着方向规划和开发的事情&…

搜索引擎蜘蛛爬虫原理

permike 原文 搜索引擎蜘蛛爬虫原理 关于搜索引擎的大话还是少说些,下面开始正文搜索引擎蜘蛛爬虫原理: 1 聚焦爬虫工作原理及关键技术概述 网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重…

《Android开发艺术探索》读书笔记 (10) 第10章 Android的消息机制

第10章 Android的消息机制 10.1 Android消息机制概述 (1)Android的消息机制主要是指Handler的运行机制,其底层需要MessageQueue和Looper的支撑。MessageQueue是以单链表的数据结构存储消息列表但是以队列的形式对外提供插入和删除消息操作的消息队列。MessageQueue只…

mysql索引引擎_mysql搜索引擎和索引那些事

mysql的存储引擎三种存储方式**InnoDB **(默认)一个文件存储表结构,一个存储数据和目录(索引)# 一个文件 book_name | author| press | price | pub_date frm文件 frame的缩写# 另一个文件(数据 目录)# | 倚天屠龙记 | egon | 北京工业地雷出版社 | 70.00 | 2019-07…

SPOJ HIGH Highways ——Matrix-Tree定理 高斯消元

【题目分析】 Matrix-Tree定理高斯消元 求矩阵行列式的值&#xff0c;就可以得到生成树的个数。 至于证明&#xff0c;可以去看Vflea King&#xff08;炸树狂魔&#xff09;的博客 【代码】 #include <cmath> #include <cstdio> #include <cstring> #include…

深度ip转换器手机版app_房串串经纪人版app下载-房串串经纪人版app手机版 v1.0.0...

房串串经纪人版app&#xff1a;专门为房产经纪人打造的辅助办公软件&#xff0c;提供的功能非常的全面&#xff0c;涵盖了房产服务过程中的各个环节&#xff0c;随时可以手机在线处理自己的日常工作&#xff0c;提高了工作的效率&#xff0c;操作很简单&#xff0c;让你更好的实…

netduino之电源参考电路MC33269DT-5.0G

手里有块netduino的板子&#xff0c;一直闲置未用&#xff0c;netduino具体是什么不知道的就百度吧&#xff0c;我这也不是主要讲netduino开发的&#xff0c;简单说就是用.net开发硬件&#xff0c;了解到netduino也是原来学过C#&#xff0c;当然我主要的工作还是嵌入式硬件开发…

汉王考勤 连接mysql_汉王考勤管理软件打开时出现:连接数据错误,请确认数据库服务器信息是否有误。这样该怎样解决?...

汉王指纹考勤系统故障答疑1. 考勤钟上的指纹记录丢失了。答&#xff1a;没有可能自己丢失&#xff0c;只可能是误删除了指纹信息&#xff0c;只能重新登录指纹。2. 在预处理时时间过长。答&#xff1a;由于用户单位的人员多&#xff0c;软件设置的班次乱等因素造成&#xff1b;…

PowerShell使用教程

一、说明 1.1 背景说明 个人对PowerShell也不是很熟悉&#xff0c;开始的时候就突然看到开始菜单中多了个叫PowerShell的文件夹&#xff0c;后来一点就看到某个教程视频说PowerShell很厉害但也没怎么听&#xff0c;再后来就看到kali也有了一些PowerShell的脚本这才意识到PowerS…

python Gunicorn

1. 简介 Gunicorn(Green Unicorn)是给Unix用的WSGI HTTP 服务器&#xff0c;它与不同的web框架是非常兼容的、易安装、轻、速度快。 2. 示例代码1 def app(environ, start_response):data b"Hello World\n"start_response("200 OK", [("Content-Type…

如何使处于不同局域网的计算机实现远程通信_小区自来水二次加压泵站远程监控系统方案...

一、小区自来水二次加压泵站远程监控系统方案项目概述随着城市高效快速地发展&#xff0c;市区规模越来越大&#xff0c;小区二次加压泵房将继续增加&#xff0c;供水公司二次加压泵房管理工作将更加繁重。目前小区二次加压供水方式主要有两种&#xff0c;一种是不锈钢水箱不锈…

Java中的Enum的使用与分析

示例&#xff1a; public enum EnumTest {FRANK("The given name of me"),LIU("The family name of me");private String context;private String getContext(){return this.context;}private EnumTest(String context){this.context context;}public sta…

postgresql返回行数_怎么优化你的SQL查询?以PostgreSQL为例

实际工作中&#xff0c;我们每个人难免都会要写SQL&#xff0c;执行SQL&#xff0c;但是有时时候执行非常慢&#xff0c;甚至获得不了结果。这时候你会怎么办&#xff1f;放弃&#xff1f;去苦口婆心的求隔壁房间胡子擦擦的猥琐DBA大叔&#xff1f;NO&#xff0c;正确方法是先检…

首次构建android studio gradle 下载缓慢的问题

1、先使用其他工具下载gradle&#xff0c; https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 2、然后放在C:\Users\Administrator\.gradle\wrapper\dists\gradle-2.14.1-all\8bnwg5hd3w55iofp58khbp6yv 目录中 随机码文件夹可以通过先尝试构建&#xff0c;让…

288. Unique Word Abbreviation

题目&#xff1a; An abbreviation of a word follows the form <first letter><number><last letter>. Below are some examples of word abbreviations: a) it --> it (no abbreviation)1 b) d|o|g --> d…

jqgrid mysql 分页_jQgrid 分页显示

当使用jqgrid去显示数据的时候&#xff0c;如果数据太多&#xff0c;那么jqgrid就会绘制的很慢&#xff0c;这样很影响用户的体验&#xff0c;十分影响用户的心情&#xff0c;所以我们采用分页的方式去取数据&#xff0c;这样就能避免用户长时间的等待&#xff0c;从而提升用户…

echarts 词云_python Flask+爬虫制作股票查询、历史数据、股评词云网页

自学python的数据分析&#xff0c;爬虫后&#xff0c;花了几天时间看视频学习Flask做了一个简单的股票查询网页。本来还想着加入一些其他功能&#xff0c;比如财务指标分析&#xff0c;舆情分析&#xff0c;最完美的想法是做成一个股票评分系统&#xff0c;输入股票代码可以自动…

JavaSE基础知识(6)—异常和异常处理

一、异常的理解及体系结构图 1、理解 异常&#xff1a;程序运行过程中发生的不正常现象。java中的错误&#xff1a;   语法错误   运行异常   逻辑错误 2、体系图 java程序在执行过程中所发生的异常分为两类&#xff1a; Error&#xff1a;Java虚拟机无法解决的严重问题。…

peripheralStateNotificationCB

1 /*********************************************************************2 * fn peripheralStateNotificationCB 外围设备 状态 通知 回调函数3 *4 * brief Notification from the profile of a state change. 通知来自于profile的状态改变&#xff01;5 *6 * …