看到SherlockFragment的一段代码:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
this.activity = activity;
}
@Override
public void onDetach() {SherlockFragment
activity = null;
super.onDetach();
}
这是一个良好的实践:构造函数和析构函数的执行顺序相反。虽然这里onAttach和onDetach并不是真正的构造和析构函数,但作为在生命周期中配对的一组函数,他们具有构造和析构的意味,我们同样需要遵循这样的原则。onCreate和onDestroy也适用于这个原则。
最后说明的一句是:在真正的构造函数中通过super调用基类构造函数必须是第一句,否则将通不过编译。