자바 프로그램 초기화의 생성자

Java는 C ++로 객체를 생성 할 때 자동으로 생성자 (특수 메서드)를 계속 호출합니다. 객체를 생성 할 때 클래스에 생성자가 있으면 Java는 사용자가 객체를 조작 할 수 있기 전에 해당 생성자를 자동으로 호출하므로 초기화가 수행되었는지 확인하십시오.
1. 소개
(1) 정의
1. 구성 방법
클래스 이름과 일치하여 객체를 초기화하는 데 사용되는 유형을 반환하는 특별한 방법은 없습니다.
2. Syntax :
access modifier 생성 메소드 이름 () { // initialization code } 3. Example object-new family () 생성시 해당 객체에 대한 저장 공간이 할당되고 해당 생성자가 호출됩니다. 이렇게하면 개체가 조작되기 전에 적절하게 초기화됩니다. (2) 특징



여기에 사진 설명 삽입


여기에 사진 설명 삽입

1. 메서드와 클래스의 이름이 동일합니다. 즉, 생성자가 클래스와 같은 이름을 사용합니다.
이유 1. 편집기가 생성자를 호출 할 때 어떤 초기화 메서드가 호출되었는지 알아야합니다.
이유 2. 임의의 이름이 될 수 있습니다. 멤버 이름이 충돌합니다.
대신 C ++ 언어 솔루션 (생성자 이름 = 클래스 이름)을 사용하는 것이 더 쉽습니다.
2. 수정 자 뒤에는 반환 값 유형이 없으며
생성자는 반환 값이 없기 때문에 특별한 유형의 메서드입니다.
void 반환 값과의 차이점은 다음과 같습니다.
Null 반환 값 메서드 : 메서드 자체는 값을 반환하지 않지만 다른 매개 변수를 반환하도록 선택할 수 있습니다.
생성자 : 아무것도 반환하지 않습니다 (생성자에 반환 값이있는 경우). 반환 유형을 선택할 수 있습니다. 그러면 컴파일러는 처리 방법을 알 수 없습니다.)
3. 매개 변수는 메소드에서 지정하거나 지정하지 않을 수 있습니다.
(3) 이점
생성자는 오류를 줄이고 코드를 읽기 쉽게 만듭니다. 개념적으로 "초기화"와 "생성"은 서로 독립적이지만 Java 코드에서는 두 개념이 함께 묶여 있고 두 개념이 분리 될 수 없습니다.
2. 예제
(1) 매개 변수없는 생성자 (기본 생성자라고도 함)
매개 변수를 허용하지 않는 생성자를 기본 생성자 (즉, 매개 변수없는 생성자)라고합니다.
1. 생성자에 메소드가없는 경우 시스템 은 다음 그림과 같이 동일한 클래스 이름을 가진 매개 변수없는 생성 메소드를 기본적으로 추가합니다 .
여기에 사진 설명 삽입
2. 매개 변수가없는 생성자사용자 정의 해야하는 경우 다음을 수행 할 수 있습니다. 자신의 필요에 따라 직접 수행 편집, 위의 첫 번째 부분의 예는 가족을 초기화하고 기본적으로 아버지와 어머니라는 두 사람을 포함하는 사용자 지정 매개 변수없는 구조입니다.
(2) 매개 변수
가있는 생성자 매개 변수가있는 생성자를 사용하여 클래스를 정의하면 들어오는 변수를 받아들이고 편집기는 기본 생성자를 자동으로 생성하지 않습니다 (컴파일러는 기본 생성자가 필요하지 않다고 생각하기 때문에 이미 수행 할 작업을 알고 있기 때문입니다). , 아래와 같이 family 클래스에는 family 매개 변수화 된 생성자가 정의되고 "son"과 "daughter"가 각각 전달되어 호출됩니다.이 경우 매개 변수없이 생성자를 호출하면 오류가보고되고 알려줍니다. 일치하는 생성자를 찾을 수 없습니다.
여기에 사진 설명 삽입
. 매개 변수를 매개 변수없이 및 생성자 (3) 생성자가 동시에 존재하는
생성자는 클래스의 유일한 생성자 인 경우, 컴파일러는 다른 형태의 새로운 객체를 허용하지 않습니다;
클래스의 여러 생성자가있는 경우, 당신은 매개 변수를 전달할 때 호출 될 수 있습니다. 아래 그림과 같이
여기에 사진 설명 삽입
호출 및 실행 결과는 다음과 같습니다.
여기에 사진 설명 삽입

추천

출처blog.csdn.net/qq_44801116/article/details/105909833