如何从AsyncTask扩展为通用基类?

JJD*_*JJD 4 java android abstract-class generic-programming android-asynctask

有三种不同的实现方式AsyncTask:

public class DownloadTask extends AsyncTask<String, Integer, Boolean>
public class JsonParserTask extends AsyncTask<Object, Void, Boolean>
public class PostCommentTask extends AsyncTask<String, Void, HttpRequestResult>
Run Code Online (Sandbox Code Playgroud)

我希望他们扩展一个BaseAsyncTask我可以用于依赖注入的东西.AsyncTask看起来像这样的类签名:

public abstract class AsyncTask<Params, Progress, Result>
Run Code Online (Sandbox Code Playgroud)

如何AsyncTask在保持不同参数的同时进行扩展?

                               | DownloadTask
AsyncTask <-- BaseAsyncTask <--| JsonParserTask
                               | PostCommentTask
Run Code Online (Sandbox Code Playgroud)

Com*_*are 12

尝试:

abstract class BaseAsyncTask<Params, Progress, Result> 
                  extends AsyncTask<Params, Progress, Result>
Run Code Online (Sandbox Code Playgroud)