Java接口回调

java的接口回调,在android下用的是越来越多了,到底该怎么理解它呢?

 

好比是一个领导和一个下属,还有一个下属间谍三个人之间不清不楚的关系

 

1、下属有一个吃饭的事情……(定义接口)

2、领导发表申明,说对下属的吃饭这件事感兴趣,并说了如果下属吃饭,他就怎么样怎么样,但是老板就是老板,总不能一直盯着下属所以……

(实现接口,并实现处理监听事件的方法)

3、领导一说话,间谍就去了下属那,并且领导给了间谍特权,可以使用我的怎么样怎么样方法

(建立于接口的连接,实际上是一个向上转型的过程,把间谍upcase为一个领导,从而调用领导的方法)

4、,然后只要一吃饭,间谍就通知领导,并替领导完成什么样什么样的事情(通过接口的实例,调用接口中的方法)

 

这样一说,大家应该对接口回调的机制有了点感性的理解了吗。

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. interface People{  
  2.    
  3.    void peopleList();  
  4.    
  5. }  
  6.    
  7. class Student implements People{  
  8.    
  9.    public void peopleList(){  
  10.    
  11.     System.out.println("I’m a student.");  
  12.    
  13. }  
  14.    
  15. }  
  16.    
  17. class Teacher implements People{  
  18.    
  19.   public void peopleList(){  
  20.    
  21.     System.out.println("I’m a teacher.");  
  22.    
  23. }  
  24.    
  25. }  
  26.    
  27. public class Example{  
  28.    
  29.   public static void main(String args[]){  
  30.    
  31.     People a;             //声明接口变量  
  32.    
  33. a=new Student();      //实例化,接口变量中存放对象的引用  
  34.    
  35. a.peopleList();        //接口回调  
  36.    
  37. a=new Teacher();     //实例化,接口变量中存放对象的引用  
  38.    
  39. a.peopleList();       //接口回调  
  40.    
  41. }  
  42.    
  43. }  

通过接口,我们将大量共通但实现细节不同的方法抽象出来,再去实现它的接口类中具体处理,这样通过接口去调用方法的时候,

就不用考虑具体调用哪个方法了。

 

这是一种用法,大致是多态的意思,还有一种用法就是组件中的通信:

例如Fragment间的通信

1、在Fragment中定义接口,申明接口的实例,在onAttach()方法中实现接口实例化为Activity对象

2、在Fragment中的某个方法内,使用接口的实例,调用Activity的方法,向Activity通信

3、Activity实现接口与结构内的方法,实现处理回调的逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值