Para responder a su pregunta real, la creación automática de la llamada a super.onCreate () es una característica del complemento ADT. En java, no puede forzar directamente a una subclase a llamar a la súper implementación de un método, afaik (vea el patrón descrito en otras respuestas para una solución alternativa). Sin embargo, tenga en cuenta que en Android, no está instanciando objetos de Actividad (u objetos de Servicio) directamente: pasa un Intent al sistema y el sistema crea una instancia del objeto y llama a onCreate () sobre él (junto con otros métodos de ciclo de vida). Por lo tanto, el sistema tiene una referencia de objeto directa a la instancia de Actividad y puede verificar (presumiblemente) algún valor booleano que se establece en verdadero en la implementación de superclase de onCreate (). Aunque no sé exactamente cómo se implementa, probablemente se vea así:
class Activity
{
onCreate()
{
superCalled = true;
...
}
...
}
Y en la clase de nivel "sistema" que recibe el Intent y crea una instancia del objeto Activity de él:
...
SomeActivitySubclass someActivitySubclassObject = new SomeActivitySubclass();
someActivitySubclassObject.onCreate();
if (!someActivityObject.isSuperCalled())
{
Exception e = new Exception(...)
throw e;
}
Mi suposición es que probablemente sea un poco más complejo que eso, pero entiendes la idea. Eclipse crea automáticamente la llamada porque el complemento ADT lo indica, para su comodidad. ¡Feliz codificación!