기본 생성자
- 기본 생성자는 0 인수 생성자 입니다. 슈퍼 클래스 생성자에 대한 인수 없는 호출이 포함되어 있습니다.
- 새로 생성된 객체에 기본값을 할당하는 것은 기본 생성자의 주요 책임입니다.
- 컴파일러는 프로그램이 클래스에 생성자를 작성하지 않는 경우에만 코드에 기본 생성자를 작성합니다.
- 기본 생성자의 액세스 수정자는 항상 클래스 수정자와 동일하지만 이 규칙은 "공개" 에만 적용됩니다. 및 '기본값' 수정자.
컴파일러는 언제 기본 생성자를 추가할까요?
- 컴파일러는 프로그래머가 코드에 생성자를 작성하지 않은 경우에만 코드에 기본 생성자를 추가합니다.
- 프로그래머가 코드에 생성자를 작성하면 컴파일러는 생성자를 추가하지 않습니다.
- 모든 기본 생성자는 0 인수 생성자이지만 모든 0 인수 생성자는 기본 생성자가 아닙니다.
매개변수화된 생성자
- 매개변수화된 생성자는 특정 개수의 인수가 있는 생성자입니다. 통과해야 합니다.
- 매개변수화된 생성자의 목적은 사용자가 원하는 특정 값을 다른 개체의 인스턴스 변수에 할당하는 것입니다.
- 매개변수화된 생성자는 프로그래머가 명시적으로 작성합니다.
- 기본 생성자의 액세스 수정자는 항상 클래스 수정자와 동일하지만 이 규칙은 "공개"에만 적용됩니다. 및 '기본값' 수정자.
예시
public class Student { int roll_no; String stu_name; Student(int i, String n) { // Parameterized constructor roll_no = i; stu_name = n; } void display() { System.out.println(roll_no+" "+stu_name); } public static void main(String args[]) { Student s1 = new Student(1,"Adithya"); Student s2 = new Student(2,"Jai"); s1.display(); s2.display(); } }
위의 프로그램에서 프로그래머는 2개의 매개변수가 있는 하나의 매개변수화된 생성자를 정의합니다. 이제 컴파일러는 코드에 기본 생성자를 추가하지 않으며 프로그래머도 0 인수 생성자를 작성하지 않았습니다.
출력
1 Adithya 2 Jai