您的位置:首页 > 编程语言 > Java开发

关于回调函数在Java中的运用(1)

2016-02-29 00:18 465 查看
回调函数,就是指函数在某处注册,而它将在稍后的某个需要的时候被调用。C语言中,一般通过传递一个函数的指针来被调用,Java中没有指针,所以Java通过接口来实现回调。具体就是:

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]+" ");
}
}
}
运行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: