android回调机制

C, C++a或JS里经常有回调方法,它们都是通过指针来实现的。

而JAVA中不允许直接操作指针,那它的回调是如何实现的呢?

答案:它是通过接口(implements)来实现的。

JAVA方法回调是功能定义和功能实现分享的一种手段,是一种耦合设计思想。作为一种架构,必须有自己的运行环境,并且提供用户的实现接口。
例如在Activity中定义了很多生命周期的不同状态要调用的方法,这些方法都是空实现,系统框架要调用,用户也要调用来实现。
下面模拟一下Android中的Activity方法回调思想:
1.Activity接口
package com.maker.test;
//定义接口
public interface Activity{
public void onCreate();
.....
public void onDestory();

}
2.Activity接口的实现类MyActivity
package com.amaker.test
//定义一个类实现Activity接口
public calss MyActivity implements Activity{
@Override//实现方法,简单输出
public void onCreate(){
System.out.println("onCereate");
}
....
@Override//实现方法,简单输出
public void onDestory(){
System.out.println("onDestory");
}

}
3.系统运行环境类AndroidSystem
package com.amaker.test;
//系统运行安装类
public class AndroidSystem{
//定义常量
public static final int CREATE=1;
....
public static final int DESTORY=2;

//运行方法
public void run(Activity a,int state){
switch(state){
case CREATE:
a.onCreate;
break;
....
case DESTORY:
a.onDestory();
break;

}
}
}

4.测试类
package com.amaker.test;
//测试类
publilc class Test{
public static void main(String[] args){
//实例化AndroidSystem
AndroidSystem system = new AndroidSystem();
//实例化MyActivity
Activity a = new MyActivity();

system.run(a,AndroidSystem.CREAATE);
....
system.run(a,AndroidSystem.DESTORY);
}
}

以上可以看出,接口(系统框架)是系统提供的,接口的实现是用户实现的,这样可以达到接口统一,实现不同的效果。
系统在不同的状态“回调”我们的实现类,来达到接口和实现的分类。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值