在许多 Android 方法中,尤其是构造函数和重写方法中,您应该甚至必须使用super()调用父类方法。当您使用 Eclipse Source > Override/Implement Methods...时,您会从带有 TODO 标记的模板中获取代码,如下所示:
public MyCanvas(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
}
我不完全理解超类在每种情况下的作用,所以我总是将我的代码插入到//TODO标记的确切位置。在示例中,我将在构造函数中的代码之前和 onDraw() 中的代码之后调用 super()。
我可以始终依赖生成代码中的这些代码插入位置吗?何时调用 super() 是否有简单的规则/解释?