Architecturas | 자바 생성자 호출 예제

자바 생성자 호출 예제

예를 들어 반복적인 것이있을 때 코드 크기를 줄여야합니다 : 리프트를 프로그래밍하려면 2 층 또는 3 층에 가야하는 경우에도 1 층에서 수행 할 일에 대한 코드를 입력해야합니다. 3층 버튼을 누르면 1층 코드를 건너뛰도록 연결됩니다. 그러나 대부분의 경우 가능한 한 첫 번째 줄의 간단한 생성자에서 더 복잡한 생성자를 호출하여 다른 방법으로 하려고합니다. 위의 예제에서는 생성자의 순서를 변경하면 어떻게 됩니까? 참고: 생성자라고 하는 것은 개체 생성 시 값을 생성하기 때문입니다. 클래스에 대한 생성기를 작성할 필요는 없습니다. Java 컴파일러가 클래스에 없는 경우 기본 생성자를 생성하기 때문입니다. 이 예제에서는 Java 생성기를 사용하여 한 개체의 값을 다른 개체로 복사합니다. 이 생성자를 사용하면 행위자 이름 외에 정보가있는 Actor 개체를 만들 수 있습니다 . new() 키워드를 사용하여 개체를 만들 때마다 하나 이상의 생성자가 호출됩니다.

위의 시나리오에서는 생성자가 개체를 만드는 데 사용되므로 힙에서 생성되는 개체 수입니다. 그러나 여기서는 생성자 체인을 사용하여 3 arg 생성기를 전달하여 한 번에 4 개의 생성자로 호출합니다. 생성자는 언제 호출됩니다. new() 키워드를 사용하여 개체를 만들 때마다(기본 생성자일 수 있음) 동일한 클래스의 데이터 멤버에 초기 값을 할당하기 위해 호출됩니다. 같은 일에 대해 다른 이름을 사용하지 않으려면 두 번째 생성자는 간단한 트릭을 사용합니다. 매개 변수 이름은 일부 인스턴스 변수의 이름과 동일합니다. 두 가지를 구별하기 위해 this.variable은 인스턴스 변수를 참조하고 변수는 매개 변수를 참조합니다. 이 명명 규칙은 매우 일반적으로 사용됩니다. 클래스에서 사용할 수 있는 생성자가 없는 경우 기본 생성자 호출 합니다.

이러한 경우 Java 컴파일러는 기본적으로 기본 생성자를 제공합니다. 일반적으로 인수수가 적은 생성자는 설명이 더 많은 생성자를 호출해야 합니다:위의 클래스에서는 생성자를 만들지 않으므로 컴파일러는 기본 생성자를 제공합니다. 여기서 0 및 null 값은 기본 생성자에서 제공됩니다. 생성자 오버로드는 Java에서 클래스에 매개 변수 목록이 다른 생성자 수를 가질 수 있는 기술입니다. 컴파일러는 목록의 매개 변수 수와 해당 형식을 고려하여 이러한 생성자를 구분합니다. 참고: 예제 1에서는 끝에서 기본 생성자가 호출되지만 예제 2에서는 기본 생성자가 처음에 호출됩니다. 따라서 생성자 체인의 순서는 중요하지 않습니다. 당신은 더 필요할 수 있습니다.

빌더 패턴은이 경우 훌륭한 솔루션이 될 것입니다. 다음은 기사입니다, 그것은 도움이 될 수 있습니다 https://medium.com/@modestofiguereo/design-pattern-2-빌더-패턴 및 텔레스코핑-생성자-안티 패턴-60a33de752e 다음이 생성자 호출 하 여 Actor 클래스의 인스턴스를 만듭니다. : 슈퍼 클래스를 호출하려면 super(someValue)를 사용합니다. super에 대한 호출은 생성자의 첫 번째 호출이거나 컴파일러 오류가 발생합니다. 또한 Java의 생성자 체인에서 세부 정보를 읽을 수 있습니다기본 클래스가 자식에 의해 확장되는 시나리오를 고려하십시오. 자식 클래스의 개체가 만들어지때마다 부모 클래스의 생성자가 먼저 호출됩니다. 이를 생성자 체인이라고 합니다. 여기서 Ball 클래스의 기본 생성자(생성자)를 사용하여 Ball 유형 변수가 만들어집니다. 이러한 경우 키워드 « super »를 사용하여 부모 클래스의 재정의된 생성자()를 호출할 수 있습니다. 메서드와 달리 생성자는 클래스의 멤버로 간주되지 않습니다. 생성자가 호출될 때마다 해당 클래스의 개체가 만들어집니다.

개체를 만들 수 있는 시기를 보다 세세하게 제어하려면 생성자가 비공개로 선언할 수 있습니다.