Чтобы ответить на ваш актуальный вопрос, автоматическое создание вызова super.onCreate () является функцией плагина ADT.В Java вы не можете напрямую заставить подкласс вызывать супер реализацию метода afaik (см. Шаблон, описанный в других ответах для обхода проблемы).Однако имейте в виду, что в Android вы не создаете экземпляры объектов Activity (или объектов Service) напрямую - вы передаете Intent систему и система создает экземпляр объекта и вызывает onCreate () для него (вместе с другими методами жизненного цикла).Таким образом, система имеет прямую ссылку на объект на экземпляр Activity и может проверить (предположительно) некоторый логический тип, для которого установлено значение true в реализации суперкласса onCreate ().Хотя я не знаю точно, как это реализовано, вероятно, это выглядит примерно так:
class Activity
{
onCreate()
{
superCalled = true;
...
}
...
}
И в классе системного уровня, который получает Intent и создает из него объект Activity:
...
SomeActivitySubclass someActivitySubclassObject = new SomeActivitySubclass();
someActivitySubclassObject.onCreate();
if (!someActivityObject.isSuperCalled())
{
Exception e = new Exception(...) //create an exception with appropriate details
throw e;
}
Я думаю, что это, вероятно, немного сложнее, но вы поняли идею.Eclipse автоматически создает вызов, потому что плагин ADT сообщает это, для удобства.Удачного кодирования!