> Java > java지도 시간 > 본문

Java의 재귀 생성자 호출

WBOY
풀어 주다: 2023-08-27 15:41:07
앞으로
1400명이 탐색했습니다.

Java의 재귀 생성자 호출

재귀 생성자 호출은 생성자가 자신을 호출할 때 발생하는 컴파일 시간 오류입니다. 이는 메소드가 필요한 만큼 자신을 호출하는 재귀와 유사합니다. 자신을 호출하는 메서드를 재귀 메서드라고 하며, 자신을 호출하는 생성자를 재귀 생성자라고 합니다.

이 기사에서는 몇 가지 예를 통해 Java의 재귀 생성자 호출 오류에 대해 알아봅니다.

재귀 생성자 호출

생성자

메서드와 매우 유사하지만 차이점은 메서드는 객체의 동작을 정의하는 반면 생성자는 이러한 객체를 초기화하는 데 사용된다는 것입니다. 메소드에 원하는 이름을 지정할 수 있지만 생성자는 클래스 이름과 동일해야 합니다. 또한 메서드는 값을 반환할 수 있지만 생성자는 반환 유형을 가질 수 없기 때문에 값을 반환하지 않습니다.

사용자가 생성자를 생성하지 않으면 Java 컴파일러가 자동으로 생성자를 생성합니다(우리는 이를 기본 생성자라고 부릅니다).

예 1

으아아아

출력

으아아아

생성자와 메서드의 유사성에도 불구하고 Java는 재귀 생성자를 허용하지 않습니다. 이것은 나쁜 프로그래밍 습관입니다.

예 2

다음 예에서는 재귀 생성자 호출 오류를 보여줍니다.

여기서 클래스를 생성하고 해당 생성자와 두 개의 매개변수를 정의하겠습니다. 그런 다음 본문 내부에서 동일한 생성자를 호출합니다.

으아아아

출력

으아아아

예 3

의 중국어 번역은 다음과 같습니다.

예 3

다음 예에서는 Java가 생성자 내부에 객체 생성을 허용하는지 확인하기 위해 생성자 내부에 객체를 정의해 보겠습니다.

으아아아

출력

으아아아

생성자 내부에 객체를 생성하면 객체 생성의 무한 루프가 발생하기 때문에 StackOverflowError가 발생합니다.

예 4

의 중국어 번역은 다음과 같습니다.

예 4

다음 예에서는 다른 생성자 내에서 생성자를 호출하는 것이 합법적임을 보여줍니다.

으아아아

출력

으아아아

결론

Java는 생성자의 재귀를 허용하지 않으므로 이러한 프로그래밍 방식은 당연히 피해야 합니다. 이 글에서는 생성자에 대한 논의를 시작으로 재귀 생성자를 설명하려고 합니다. 또한 무한 루프로 인해 발생한 StackOverflowError라는 또 다른 오류를 발견했습니다.

위 내용은 Java의 재귀 생성자 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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