关于回调函数在Java中的运用(1)
2016-02-29 00:18
465 查看
回调函数,就是指函数在某处注册,而它将在稍后的某个需要的时候被调用。C语言中,一般通过传递一个函数的指针来被调用,Java中没有指针,所以Java通过接口来实现回调。具体就是:
1.定义一个接口,在这个接口中声明需要被调用的函数;
2.定义一个类,实现上述接口;
3.上述类的一个对象作为参数传递给调用程序。
===============================================================================================================================
1.定义一个接口,在这个接口中声明需要被调用的函数;
2.定义一个类,实现上述接口;
3.上述类的一个对象作为参数传递给调用程序。
===============================================================================================================================
interface CompareIf{ public int cmp(int a, int b); } class Cmp implements CompareIf{ public int cmp(int a, int b){ if(a>b) return 1; else if(a<b) return -1; else return 0; } } public class CallbackTest{ public static void sort(int[] array,CompareIf cmpif){ if(array != null) for(int i = 0; i < array.length-1; i++){ for(int j = 0; j <array.length-1-i; j++){ int tmp = array[j]; if(cmpif.cmp(array[j],array[j+1]) == 1){ array[j] = array[j+1]; array[j+1] = tmp; } } } } public static void main(String[] args){ int[] arr = {2,1,3,5,0}; Cmp c = new Cmp(); sort(arr,c); for(int i = 0; i < arr.length; i++){ System.out.print(arr[i]+" "); } } }运行结果如下:
相关文章推荐
- java 命令对象简单学习实现:
- struts2自定义拦截器(interceptor)
- java线程的使用
- Spring MVC Controller单例陷阱
- javaIO之NIO
- java enum(枚举)的自定义方法的简单使用
- Eclipse & IDEA 快捷键对比
- spring跟QuartZ整合
- JavaWeb项目获取路径各种方法。
- Java通过thumbnailator对图片进行缩放,裁剪,添加水印等..
- SpringAop进行日志管理。
- spring3.0 AOP 详解
- SpringAop日志管理
- 关于JavaWeb拦截访问一点总结。
- Java5中并发编程的各种细节。
- Spring的Jar包详解
- jdk5.0 新增的 Concurrent包主要功能详解
- Java 位运算(移位、位与、或、异或、非)
- JAVA实现Key-Key结构
- "Java 反序列化"过程远程命令执行漏洞