yyd*_*ydl 11 android overriding android-asynctask
在我见过的许多例子中,AsyncTask扩展了,构造函数被覆盖,并且没有调用super().例如,在hackbod的这个答案中:
static class Worker extends AsyncTask<URL, Integer, Long> {
MyActivity mActivity;
Worker(MyActivity activity) {
mActivity = activity;
}
[...]
}
Run Code Online (Sandbox Code Playgroud)
新构造函数不会回调父的构造函数.
CommonsWare 在这个示例项目中有类似的代码.
这是正确的吗?或者应该super()真的被称为?
Ste*_*ein 18
如果未显式调用super(),则会隐式调用默认的超级构造函数.所以根本没有什么区别.我会使用较短的版本(省略super()),这似乎是Java中的常见做法.
ps另请参见此线程:Java中的缺省构造函数和继承
| 归档时间: |
|
| 查看次数: |
3110 次 |
| 最近记录: |