java
생성자 새로 생성된 개체를 초기화하는 데 사용되는 특수 메서드로 개체에 메모리가 할당된 직후에 호출됩니다. 객체 생성 시 원하는 값 또는 기본값으로 객체를 초기화하는 데 사용할 수 있습니다. 코더가 클래스의 생성자를 작성하는 것은 필수가 아닙니다.
클래스에 대해 사용자 정의 생성자가 제공되지 않으면 컴파일러는 멤버 변수를 기본값으로 초기화합니다.
이 튜토리얼에서는 배우게 될 것입니다-
예시 1 :Java로 첫 번째 생성자 만들기
1단계) 자바 편집기에서 다음 생성자 프로그램을 입력하세요.
class Demo{ int value1; int value2; Demo(){ value1 = 10; value2 = 20; System.out.println("Inside Constructor"); } public void display(){ System.out.println("Value1 === "+value1); System.out.println("Value2 === "+value2); } public static void main(String args[]){ Demo d1 = new Demo(); d1.display(); } }
2단계) 생성자 프로그램을 Java로 저장, 실행 및 컴파일하고 출력을 관찰합니다.
출력:
Inside Constructor Value1 === 10 Value2 === 20
Java 생성자 오버로딩은 클래스가 매개변수 목록에서 다른 생성자를 원하는 수만큼 가질 수 있는 기술입니다. 컴파일러는 목록의 매개변수 수와 유형을 고려하여 이러한 생성자를 구분합니다.
Account 클래스에 대한 유효한 생성자의 예는 다음과 같습니다.
Account(int a); Account (int a,int b); Account (String a,int b);
예시 2 :Java의 생성자 오버로딩 이해하기
1단계) 편집기에서 코드를 입력하십시오.
class Demo{ int value1; int value2; /*Demo(){ value1 = 10; value2 = 20; System.out.println("Inside 1st Constructor"); }*/ Demo(int a){ value1 = a; System.out.println("Inside 2nd Constructor"); } Demo(int a,int b){ value1 = a; value2 = b; System.out.println("Inside 3rd Constructor"); } public void display(){ System.out.println("Value1 === "+value1); System.out.println("Value2 === "+value2); } public static void main(String args[]){ Demo d1 = new Demo(); Demo d2 = new Demo(30); Demo d3 = new Demo(30,40); d1.display(); d2.display(); d3.display(); } }
2단계) 코드를 저장, 컴파일 및 실행합니다.
3단계) 오류 =?. Java 생성자 오버로딩의 다음 단계로 진행하기 전에 오류를 시도하고 디버그하십시오.
4단계) 모든 클래스에는 Java의 기본 생성자가 있습니다. 클래스 데모 에 대한 기본 오버로드된 생성자 Java 데모()입니다. . 이 생성자를 제공하지 않으면 컴파일러가 생성자를 생성하고 변수를 기본값으로 초기화합니다. 예제 1과 같이 이 기본 생성자를 재정의하고 변수를 원하는 값으로 초기화하도록 선택할 수 있습니다.
그러나 Demo(int a)와 같은 매개변수화된 생성자를 지정하고 기본 생성자 Java Demo()를 사용하려면 반드시 지정해야 합니다.
즉, Java의 오버로딩 생성자가 재정의되고 기본 생성자 Java를 사용하려는 경우 해당 생성자를 지정해야 합니다.
5단계) 4-8번 줄의 주석을 제거합니다. 코드를 저장, 컴파일 및 실행합니다.
기본 클래스가 자식에 의해 확장되는 시나리오를 고려하십시오. 자식 클래스의 객체가 생성될 때마다 부모 클래스의 생성자가 먼저 호출됩니다. 이것을 생성자 연결이라고 합니다.
예시 3: 생성자 연결을 이해하려면
1단계) 다음 코드를 편집기에 복사합니다.
class Demo{ int value1; int value2; Demo(){ value1 = 1; value2 = 2; System.out.println("Inside 1st Parent Constructor"); } Demo(int a){ value1 = a; System.out.println("Inside 2nd Parent Constructor"); } public void display(){ System.out.println("Value1 === "+value1); System.out.println("Value2 === "+value2); } public static void main(String args[]){ DemoChild d1 = new DemoChild(); d1.display(); } } class DemoChild extends Demo{ int value3; int value4; DemoChild(){ //super(5); value3 = 3; value4 = 4; System.out.println("Inside the Constructor of Child"); } public void display(){ System.out.println("Value1 === "+value1); System.out.println("Value2 === "+value2); System.out.println("Value1 === "+value3); System.out.println("Value2 === "+value4); } }
2단계) 코드를 실행합니다. 생성자 체이닝으로 인해 자식 클래스 DemoChild의 객체가 생성될 때 부모 클래스의 생성자 Demo()가 먼저 호출되고 나중에 자식의 DemoChild() 생성자가 생성됩니다.
예상 출력 =
Inside 1st Parent Constructor Inside the Constructor of Child Value1 === 1 Value2 === 2 Value1 === 3 Value2 === 4
3단계) 부모 클래스 Demo의 생성자가 재정의된 것을 관찰할 수 있습니다. 자식 객체가 생성될 때 기본 생성자 Demo() 대신 재정의된 생성자 Demo(int a)를 호출하려면 어떻게 해야 합니까?
이러한 경우 키워드 “super”를 사용할 수 있습니다. 상위 클래스의 재정의된 생성자를 호출합니다.
구문:-
super(); --or-- super(parameter list);
예: 생성자가 Demo(String Name,int a)와 같은 경우 , super("Java",5)를 지정합니다. . 사용되는 경우 키워드 super는 코드의 첫 번째 줄이어야 합니다. 자식 클래스의 생성자에서.
4단계) 26행의 주석을 제거하고 코드를 실행합니다. 출력을 관찰하십시오.
출력:
Inside 2nd Parent Constructor Inside the Constructor of Child Value1 === 5 Value2 === 0 Value1 === 3 Value2 === 4
java
자바란 무엇입니까? Java는 Sun Microsystems에서 개발한 다중 플랫폼, 객체 지향, 네트워크 중심 프로그래밍 언어입니다. Java는 응용 프로그램 개발을 위한 프로그래밍 언어이자 컴퓨팅 플랫폼입니다. 1995년 Sun Microsystem에서 처음 출시한 후 Oracle Corporation에 인수되었습니다. 이 자습서에서는 다음을 배우게 됩니다. 자바란 무엇입니까? 스칼라란? 자바의 기능 스칼라의 기능 자바 대 스칼라 스칼라 사용의 장점 자바의 장점 자바의 단점 스칼라의 단점 스칼라란 무엇입
잘 계획된 역동적인 광고 전략은 수익을 위한 성장과 산업 비즈니스의 침체 사이에 차이를 만들 수 있습니다. 오늘날 기술과 디지털 플랫폼을 사용하면 예산이 제한되어 있더라도 원하는 정확한 잠재고객을 쉽게 타겟팅할 수 있습니다. 산업 광고에 대해 자세히 알아보고 제조업체가 수익 증대를 위해 산업 광고에 투자하는 이유에 대해 알아보겠습니다. 산업 광고는 제조업과 관련된 제품 또는 서비스를 찾는 기업을 대상으로 하는 광고를 말합니다. 또한 일반적인 B2B 광고를 의미합니다. 즉, 기업이 다른 기업에 제품이나 서비스를 홍보하는 것