실제 질문에 답하기 위해 super.onCreate () 호출의 자동 생성은 ADT 플러그인의 기능입니다. Java에서는 하위 클래스가 메서드의 수퍼 구현 인 afaik을 호출하도록 직접 강제 할 수 없습니다 (해결 방법은 다른 답변에 설명 된 패턴 참조). 그러나 Android에서는 액티비티 객체 (또는 서비스 객체)를 직접 인스턴스화하지 않습니다. 시스템에 인 텐트를 전달하면 시스템이 객체를 인스턴스화하고 onCreate ()를 호출합니다 (다른 수명주기 메서드와 함께). 따라서 시스템에는 Activity 인스턴스에 대한 직접 객체 참조가 있으며 onCreate ()의 수퍼 클래스 구현에서 true로 설정된 일부 부울을 확인할 수 있습니다 (아마도). 구현 방법을 정확히 모르지만 아마도 다음과 같이 보일 것입니다.
class Activity
{
onCreate()
{
superCalled = true;
...
}
...
}
그리고 Intent를 수신하고 그것으로부터 Activity 객체를 인스턴스화하는 "시스템"레벨 클래스에서 :
...
SomeActivitySubclass someActivitySubclassObject = new SomeActivitySubclass();
someActivitySubclassObject.onCreate();
if (!someActivityObject.isSuperCalled())
{
Exception e = new Exception(...)
throw e;
}
내 생각 엔 그것보다 약간 더 복잡 할 것 같지만 당신은 아이디어를 얻었습니다. Eclipse는 편의상 ADT 플러그인이이를 알려주기 때문에 자동으로 호출을 생성합니다. 즐거운 코딩 되세요!