Я знаю, что отвечаю на этот вопрос через 11 месяцев после того, как его спросили. Я предполагаю, что причина в том, что порядок вызова супер-метода не может быть определен заранее. Например, я мог бы захотеть сделать уборку перед вызовом super.onDestroy()
, после super.onDestroy()
или даже перепутать его следующим образом:
@Override
protected void onDestroy() {
// Do some initial clean-up
preDestroy();
//Then call super
super.onDestroy();
//In the end do some final clean-up
postDestroy();
}
Этот пример ради аргумента; но я уверен, что вы натолкнетесь на примеры из реального мира, если будете достаточно пристально смотреть.
Этого смешанного порядка было бы трудно достичь с помощью шаблона проектирования.