이 글은 Java 상속 관계에 대한 자세한 설명 아래 구성 방법 호출에 대한 관련 정보를 주로 소개합니다. 이 부분을 이해하고 익히는 데 도움이 되기를 바랍니다. Java 상속 관계에 대한 자세한 설명 생성자 메소드 호출
Java에서 클래스의 객체를 생성할 때 해당 클래스에 상위 클래스가 있으면 상위 클래스의 생성자 메소드를 먼저 호출한 다음 하위 클래스의 생성자 메소드를 호출합니다. 호출됩니다. 상위 클래스가 생성자를 정의하지 않으면 컴파일러에서 자동으로 생성된 매개 변수가 없는 기본 생성자가 호출됩니다. 부모 클래스가 매개 변수 없는 공용 생성자를 정의하는 경우 자식 클래스의 생성자를 호출하기 전에 매개 변수 없는 생성자가 자동으로 호출됩니다. 상위 클래스에 매개변수화된 생성자만 있고 매개변수 없는 생성자는 없는 경우 하위 클래스는 매개변수화된 생성자를 지정하기 위해 생성자에서 명시적으로 super(매개변수 목록)를 호출해야 합니다. 부모 클래스가 매개 변수 없는 생성자를 정의했지만 매개 변수 없는 생성자가 private으로 선언된 경우 하위 클래스도 생성자에서 명시적으로 super(매개 변수 목록)를 호출하여 매개 변수화된 생성자를 지정해야 합니다. 상위 클래스에 매개변수화된 다른 생성자가 없으면 하위 클래스를 만들 수 없습니다.
subclass |
|||
---|---|---|---|
Private 인수 없는 생성자 |
| None ||
None | 모든 생성자는 상위 클래스의 기본 생성자를 호출합니다. | Yes | |
None | 모든 생성자는 정의된 인수 없는 생성자를 호출합니다. | N 하나 | |
예 | 모든 생성자는 매개변수를 사용하여 생성자를 호출하거나 이를 통해 다른 생성자를 호출하도록 지정해야 합니다. | 예 | |
예 | 특정 생성자를 호출하도록 지정할 수 있습니다. 지정하지 않으면 매개 변수가 없는 생성자가 호출됩니다. | 없음 | |
예 | 없음 서브 클래스를 구성 할 수 없습니다 (부모 클래스는 서브 클래스를 도출 할 수 없습니다) | 없음 | |
예 | 모든 생성자는 매개 변수 생성자를 호출하거나 일부 호출하도록 지정해야합니다. 이를 통해 다른 생성자. |
class Parent { private String pString; Parent(){ pString = "p1"; } } class Child extends Parent { private String cString; Child() { cString = "c1"; } }
Child 개체가 생성되면 상위 클래스 Parent의 생성자가 먼저 호출되어 pString을 "p1"로 초기화한 다음 Child의 생성자가 호출됩니다. cString을 "c1" "로 초기화합니다.
class Parent { private String pString; private Parent(){ pString = "p1"; } Parent(String s){ pString = "p2"; } } class Child extends Parent { private String cString; Child() { super(""); cString = "c1"; } }
상위 클래스는 매개변수 없는 전용 생성자를 정의하므로 하위 클래스에서 매개변수가 있는 특정 생성자를 호출하도록 명시적으로 지정해야 합니다.
위 내용은 Java 상속 관계에서 생성자 메서드는 구현 메서드를 호출합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!