构造函数和析构函数的执行顺序相反

来源:互联网 发布:手机麻将软件制作 编辑:程序博客网 时间:2024/04/28 03:06

看到SherlockFragment的一段代码:

@Override    public void onAttach(Activity activity) {        super.onAttach(activity);        this.activity = activity;    }@Override    public void onDetach() {SherlockFragmentactivity = null;        super.onDetach();    }

这是一个良好的实践:构造函数和析构函数的执行顺序相反。虽然这里onAttach和onDetach并不是真正的构造和析构函数,但作为在生命周期中配对的一组函数,他们具有构造和析构的意味,我们同样需要遵循这样的原则。onCreate和onDestroy也适用于这个原则。


最后说明的一句是:在真正的构造函数中通过super调用基类构造函数必须是第一句,否则将通不过编译。


0 0