码迷,mamicode.com
首页 > 编程语言 > 详细

java 回调函数很好懂

时间:2015-12-07 22:19:45      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

首先先介绍回调函数的概念。比如客户端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

java 回调函数很好懂

标签:

原文地址:http://www.cnblogs.com/lippeixian/p/5027316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!