Во многих методах 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. В этом примере я бы назвал super() перед моим кодом в конструкторе и после моего кода в onDraw().
Могу ли я всегда полагаться на эти места размещения кода в сгенерированном коде? Есть ли простое правило/объяснение, когда нужно вызвать super()?