今天编程时,突然想起来在一些异步操作或Android原生库的时候,需要我们实现一些方法,
这些方法只需要我们具体实现,然后他们会在适当的时候,自动被调用!
例如AsyncTask,执行玩doInBackground()后会执行处理结果的postResult()方法,但我们并没有设置过他们的执行顺序。
以前只知道他们的运行原理,但不知道具体的实现方法,细想起来,这是一个相当不错的代码设计,所以决定研究一下。
因为一开始是通过实现方法来具体实现那些需要被执行的方法的,所以以为实现的方式是接口,
思索很久,依然没想到接口里面如何设置方法的运行顺序,搜索发现没有相关的结果,只好去看下AsyncTask的源码,希望从源码中得到答案!
而源码相当简洁有力,直接给出了我想要的答案:实现方法被调用的顺序控制,不是通过接口来实现的,而是通过抽象类!
而具体控制程序方法的调用顺序的实现,就是在固定的方法里控制:例如AsyncTask的execute(具体的实现过程可以自己在IDE里面轻松查看,就不去具体剖析了)
以下是本人模仿的示例代码,用于打印一个字符串数组的所有内容:
public class interface{public static voidmain(String[] args){
String[] b= {"a","b","c","d","e","f","g","h","i",