接口回调思路

来源:互联网 发布:淘宝对方打开你的分享 编辑:程序博客网 时间:2024/06/04 00:20

接口回调一般使用程序测试时间,异步等上面

其相关的设计思路为:1.建设一个回调接口Interface,我将他命名为CallBack。写一个抽象方法call();

2.再创建一个类Person,用类中的方法来接收接口CallBack  cb,如果想写异步,则可以在里面写new Thread(new Runnable(){,重写Runnable方法,将接口CallBack里面的抽象方法放入其中。如果是写测试程序,则将接口方法cb.call放在long start=System.CurrentTimeMillis();和long end=System.CurrentTimeMillis()中间即可

3.创建一个Test类。在Test类中new Person,调用Person类中的方法,然后再重写接口cb的方法,将你需要异步的程序或者测试的程序都放进去即可。


以下是代码实现:

Person类:

package test;


public class Person {
public void show(final CallBack cb){//需要注意括号里面的参数接口需要修饰符final修饰
System.out.println("我在开会");
new Thread(new Runnable() {
public void run() {
cb.call();
}
}).start();
for (int i = 0; i < 10; i++) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("等人来"+i);
}
//cb.call();
System.out.println("开会结束");
}
}

-------------------------------------------------------------------------------------------------------

接口CallBack:

package test;


public interface CallBack {
public void call();
}

=================================

主函数Test类:

package test;


public class Test {


public static void main(String[] args) {
// TODO Auto-generated method stub
Person person=new Person();
person.show(new CallBack(){
@Override
public void call() {
// TODO Auto-generated method stub
for (int i = 0; i < 5; i++) {
System.out.println("总结"+i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
}


}

0 0
原创粉丝点击