2011-10-11 3 views
0

저는 프로그래밍에 익숙하지 않으므로이 간단한 코드를 이해할 수 없습니다.함수는 아직 루핑되지 않고 istelf를 호출합니다.

다음 코드에서 이해할 수없는 것은 onCreate()onCreate()에 의해 호출되었지만 setContentView() 즉 다음 문장이 실행되고 있다는 것입니다. 어떻게 된거야?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
} 

감사합니다.

답변

2

그 자체를 호출하지 않고 super의 구현 인 onCreate을 호출합니다.

super의 사용에 관한 자세한 내용은 using the keyword 'super'을 참조하십시오.

+0

귀하의 링크는이란의 일부 영화를 말합니다! – Ricky

+0

하지만 super의 onCreate() 구현을 오버라이드하므로 재정의 된 정의를 호출하는 것이 아닙니까? – noob

+0

@ 리키 롤, 쓰레기. Lemme 다시 시도해주세요;) –

1

super.onCreate(savedInstanceState);은 기본 클래스 생성자를 호출한다는 것을 의미합니다.

메서드가 한 번 호출되므로 setContentView이 실행됩니다.

즉, 귀하의 질문을 정확하게 이해하고있는 경우입니다.

+0

'overridde' 주석을 사용하여 기본 클래스'onCreate() '를 오버라이드 했으므로 새로운' onCreate()'메서드를 사용하여 방금 썼습니다. – noob

+0

@DevanshuPandey'@ Override' 주석은 인 텐트를 설명하는 컴파일 타임 표기법입니다. 바이트 코드는 변경되지 않습니다. 개발자가 컴파일러가'@ Override' 메소드를 사용하여 우리가 정말로 무언가를 무효화하고 있는지 확인하면됩니다. –

관련 문제