1. 상속 초기화 순서
1. 상위 클래스를 초기화한 후 하위 클래스를 초기화합니다.
2. 먼저 객체의 속성 초기화를 수행한 다음 생성자 메서드에서 초기화를 수행합니다.
2. 아래에서는 이 문제를 설명하기 위해 간단한 예를 사용합니다.
상위 클래스: 동물 코드:
package com.bluesky; public class Animal { public Animal(){ System.out.println("动物类的构造方法执行了!"); } }
하위 클래스: 개 코드:
package com.bluesky; public class Dog extends Animal { public Dog(){ System.out.println("子类的构造函数执行了!"); } }
테스트 클래스: 테스트 코드:
package com.bluesky; public class Test { public static void main(String[] args) { Dog dog = new Dog(); } }
실행 결과:
위 설명에서는 상위 클래스 생성 메서드가 먼저 실행된 후 하위 클래스 생성 메서드가 실행되는 것으로 나와 있습니다.
다음으로 속성과 생성자의 실행 순서를 확인하기 위한 작은 코드를 추가해 보겠습니다.
부모 클래스: 동물 코드:
package com.bluesky; public class Animal { public int age=10; //如果构造方法先执行,属性后执行,则age的值应该为:10; //因为后面赋值会覆盖前面的赋值 public Animal(){ age=20; //同理 System.out.println("动物类的构造方法执行了!"); } }
하위 클래스: Dog 클래스 코드:
package com.bluesky; public class Dog extends Animal { public String name="Jack"; //如果构造方法先执行,属性后执行,则name的值应该为:Jack; //因为后面赋值会覆盖前面的赋值 public Dog(){ name="Rose"; System.out.println("子类的构造函数执行了!"); } }
테스트 클래스: 테스트 코드:
package com.bluesky; public class Test { public static void main(String[] args) { Dog dog = new Dog(); System.out.println("dog.age="+dog.age); System.out.println("dog.name="+dog.name); } }
실행 결과:
요약: Java의 상속 초기화 순서 정보:
첫 번째 부모 클래스 객체의 속성을 초기화한 다음 부모 클래스의 생성자를 초기화합니다.
그런 다음 하위 클래스 객체의 속성을 초기화하고 마지막으로 하위 클래스의 생성자를 초기화합니다.
위 내용은 Java에서의 상속 초기화 시퀀스 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!