>Java >java지도 시간 >Java의 기본 생성자와 사용자 정의 생성자의 차이점은 무엇입니까?

Java의 기본 생성자와 사용자 정의 생성자의 차이점은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-22 07:13:13892검색

What's the Difference Between Default and User-Defined Constructors in Java?

Java의 기본 생성자

Java에서는 다른 생성자가 정의되지 않은 경우 기본 생성자가 자동으로 생성됩니다. 필드를 기본값으로 초기화하는 인수 없는 생성자입니다. 다음 코드는 기본 생성자를 정의하지 않습니다.

public Module() {
   this.name = "";
   this.credits = 0;
   this.hours = 0;
}

이것은 인수를 취하는 사용자 정의 생성자입니다. 기본 생성자는 다음과 같습니다.

public Module() {}

또는 필드 유형이 원시인 경우:

public Module() {
   super();
   this.name = null;
   this.credits = 0;
   this.hours = 0;
}

주요 차이점

기본 생성자 기본 생성자와 사용자 정의 생성자의 차이점은 다음과 같습니다.

  • 기본 생성자 인수가 필요하지 않지만 사용자 정의 생성자는 인수를 가질 수 있습니다.
  • 기본 생성자는 자동으로 필드를 기본값(예: 객체의 경우 null, 숫자 프리미티브의 경우 0)으로 초기화하는 반면, 사용자 정의 생성자는 사용자 정의를 허용합니다. 초기화.

기본 생성자 대 아니요 생성자

생성자가 전혀 없다는 것은 기본 생성자가 있는 것과 같습니다. 생성자가 없는 경우 Java 컴파일러는 인수 및 필드 초기화가 없는 기본 생성자를 자동으로 생성합니다.

참고:

  • 생성자가 정의된 경우 클래스에서는 기본 생성자가 생성되지 않습니다.
  • 기본 생성자는 암시적으로만 생성될 수 있습니다. 명시적으로.

위 내용은 Java의 기본 생성자와 사용자 정의 생성자의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.