JAVA基础——回调实现方式
来源:互联网 发布:淘宝店名起名卖票 编辑:程序博客网 时间:2024/05/18 01:06
原理就不讲了,这里只记录几种写法的demo:
1. interface,回调函数在A里实现
A.java
public class A { public static void main(String[] args) { B b = new B(); b.setBListener(new IB() { @Override public void onSuccess(String message) { System.out.println("A里定义onSuccess,meesage="+message); } @Override public void onError(String error) { System.out.println("A里定义onError,error="+error); } }); b.start(true); b.start(false); }}
IB.java
public interface IB{ public void onError(String error); public void onSuccess(String message);}
B.java
public class B { private IB b; public void setBListener(IB b) { this.b = b; } public void start(boolean input){ if(input) b.onSuccess("YES"); else b.onError("NO"); }}
2. interface的一般用法,不是回调
A.java
public class A { public static void main(String[] args) { B b = new BImpl(); b.onSuccess("A里调用onSuccess"); b.onError("A里调用onError"); }}
B.java
public interface B{ void onError(String error); void onSuccess(String message);}
BImpl.java
public class BImpl implements B{ @Override public void onError(String error) { System.out.println("运行B里定义的onError,打印参数:" + error); } @Override public void onSuccess(String message) { System.out.println("运行B里定义的onSuccess,打印参数:" + message); }}
3. abstract
A.java
public class A { public static void main(String[] args) { B b = new B(); b.start(new Callback() { @Override public void success(String message) { System.out.println("定义在A里的 success,参数值:" + message); //super.success(message); } @Override public void error(String err) { System.out.println("定义在A里的 error,参数值:" + err); //super.error(err); } }); }}
B.java
public class B{ public void start(final Callback callback) { callback.success("YES"); callback.error("NO"); }}
Callback.java
public abstract class Callback { public void success(String successMsg) {} public void error(String exceptionMsg) {}}
阅读全文
1 0
- JAVA基础——回调实现方式
- Java基础——多线程:三种实现方式
- java基础学习——事件处理机制-事件监听器的实现方式
- Java基础算法——斐波那契数列的多种实现方式!
- java语言基础(88)——多线程(实现多线程的四种方式)
- Java基础回顾 : 线程的实现方式
- Java基础学习总结(85)——Java中四种线程安全的单例模式实现方式
- java基础Dao以及基础Service的简易方式实现
- java回调机制的实现方式
- java回调机制的实现方式
- Java多线程——实现方式
- Java——多线程的实现方式
- Groovy基础——接口的实现方式
- JAVA基础(19) java多线程实现的三种方式
- 【java基础总结系列】:java 多线程3种实现方式
- Java_基础—两种方式实现键盘录入
- java基础——多线程(两种传统方式)
- java基础——多线程(两种传统方式)
- VC实现复制粘贴字符串
- 阿里云发布企业级ECS产品线,释放技术升级红利,最高降价35%
- maven学习笔记一
- 工作中最全最常用的正则表达式
- freeswitch 和 fusionPBX release addr
- JAVA基础——回调实现方式
- C/C++判断一个数是奇数还是偶数的新算法(也许早有人想到了,但我个人刚想到,所以算原创吧^_^)
- Android查看方法耗时利器---TraceView
- MAKEWPARAM 宏 及MAKELONG ,MAKELPARAM,MAKELRESULT
- Piggy-Bank
- HDU 1281 棋盘游戏(二分图匹配+匈牙利算法+模拟)
- 网址收藏
- 2017.8 模拟赛8 比赛笔记
- 噩梦