> Java > java지도 시간 > 본문

하위 클래스 생성자에서는 'super()'가 필수인가요?

Susan Sarandon
풀어 주다: 2024-10-30 22:23:30
원래의
624명이 탐색했습니다.

Is `super()` Mandatory in Subclass Constructors?

하위 클래스 생성자에서 super()의 필요성 이해

Java에서 하위 클래스를 생성할 때 super()가 하위 클래스 생성자에서는 메서드 호출이 필수입니다. 이 기사에서는 이 주제를 자세히 다루며 다음 측면을 명확하게 설명합니다.

컴파일러에 의한 super() 자동 삽입

이 질문에 대한 짧은 대답은 '아니오'입니다. 컴파일러는 명시적으로 지정되지 않은 경우 하위 클래스의 생성자에 super() 호출을 자동으로 삽입하지 않습니다. 따라서 하위 클래스 생성자는 항상 호출하려는 상위 클래스 생성자를 지정해야 합니다.

Non-Existence of No-Args Constructor Equivalents

하위 클래스 생성자의 super() 호출은 컴파일러가 인수 없이 동등한 생성자를 삽입한다는 의미는 아닙니다. 슈퍼클래스에 액세스 가능한 인수 없는 생성자가 없는 경우 super() 호출을 생략하면 컴파일 오류가 발생합니다.

인수가 존재할 때 생성자 호출

인수가 있는 하위 클래스 생성자를 고려해보세요. 이 경우 호출할 슈퍼클래스 생성자를 지정하려면 super() 호출이 필요합니다. 호출되는 슈퍼클래스 생성자는 주로 서브클래스의 생성자에 전달된 실제 인수에 의해 결정됩니다. super() 호출에 인수 목록이 지정되지 않은 경우 하위 클래스 생성 인수의 순서 및 유형과 일치하는 슈퍼클래스 생성자를 호출합니다.

위 내용은 하위 클래스 생성자에서는 'super()'가 필수인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!