English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 예제에서 Java에서 생성자에서 다른 생성자를 호출하는 방법을 배웁니다.
이 예제를 이해하기 위해 다음을 이해해야 합니다:Java 프로그래밍주제:
class Main { int sum; //첫 번째 생성자 Main() { //두 번째 생성자 호출 this(5, 2); } //두 번째 생성자 Main(int arg1, int arg2) { //두 값을 더하는 this.sum = arg1 + arg2; } void display() { System.out.println("총 합: " + sum); } // main 클래스 public static void main(String[] args) { // 첫 번째 생성자 호출 Main obj = new Main(); // 显示方法 호출 obj.display(); } }
출력 결과
총 합: 7
위의 예제에서 Main이라는 클래스를 생성했습니다. 여기서 Main 클래스 내부에서 두 개의 생성자를 생성했습니다.
Main() {..} Main(int arg1, int arg2) {...}
첫 번째 생성자에서 this 키워드를 사용하여 두 번째 생성자를 호출했습니다.
this(5, 2);
여기서, 매개변수를 전달하여 5 와 2 첫 번째 생성자에서 두 번째 생성자 호출
주의생성자에서 다른 생성자 호출하는 줄은 해당 생성자의 첫 번째 줄이어야 합니다. 즉, this(5, 2)는 Main()의 첫 번째 줄이어야 합니다.
super()를 사용하여 자식 클래스의 생성자에서 부모 클래스의 생성자를 호출할 수 있습니다.
// 부모 클래스 class Languages { //부모 클래스의 생성자 Languages(int version1, int version2) { if (version1 > version2) { System.out.println("최신 버전은: " + version1); } else { System.out.println("최신 버전은: " + version2); } } } //서브클래스 class Main extends Languages { //서브클래스 생성자 Main() { //슈퍼클래스 생성자 호출 super(11, 8); } // main 메서드 public static void main(String[] args) { // 첫 번째 생성자 호출 Main obj = new Main(); } }
출력 결과
최신 버전은: 11
위의 예제에서 우리는 Languages이라는 슈퍼클래스와 Main 서브클래스를 생성했습니다. Main 클래스의 생성자에서 주목해야 할 다음과 같은 행을 주목해 주세요:
super(11, 8);
여기서 우리는 서브클래스( Main() )의 생성자에서 슈퍼클래스의 생성자를 호출합니다(즉 Languages(int version1,int version2))。