실행 순서는 다음과 같습니다: 먼저 "정적 코드 블록"을 실행한 다음 "구성 코드 블록"을 실행하고 마지막으로 "구성 코드 블록"을 실행합니다. 정적 코드 블록은 클래스 수준에 있는 반면 구조적 코드 블록 및 구성 메서드는 인스턴스 수준에 있으므로 정적 코드 블록이 먼저 실행되고 구조적 코드 블록은 독립적이고 실행하려면 캐리어에 의존해야 하기 때문에 구조적 코드 블록은 다음과 같습니다. 코드 블록은 메소드보다 먼저 구조에 배치되어야 합니다.
이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.
구성 코드 블록, 정적 코드 블록 및 구성 메서드는 클래스의 세 가지 다른 코드 블록인데 이들 사이의 차이점은 무엇인가요?
정적 코드 블록: staitc로 선언되고 jvm이 클래스를 로드할 때 실행되며 한 번만 실행됩니다.
구성 코드 블록: 클래스에서 {}로 직접 정의되고 매번 실행됩니다. 객체가 생성됩니다.
실행 순서 우선순위: 정적 블록, main(), 구성 블록, 구성 방법.
class A { //构造代码块 { System.out.println("构造代码块A"); } //静态代码块 static { System.out.println("静态代码块A"); } //构造方法 public A() { System.out.println("构造方法A"); } }
세 가지의 실행 순서를 명확히 하기 위해 클래스 A를 인스턴스화하고 각각 단일 인스턴스와 다중 인스턴스를 테스트합니다.
class Demo { public static void main(String[] args) { new A(); } }
class Demo { public static void main(String[] args) { new A(); new A(); new A(); } }
class B extends A { //构造代码块 { System.out.println("构造代码块B"); } //静态代码块 static { System.out.println("静态代码块B"); } //构造方法 public B() { System.out.println("构造方法B"); } } class Demo { public static void main(String[] args) { new B(); } }
3. 생성자 메서드: 변수를 인스턴스화하는 데 사용됩니다.
1은 클래스 수준이고, 2와 3은 인스턴스 수준이므로 당연히 1이 23보다 우선합니다.Java 비디오 튜토리얼
이제 한 가지만 이해해 보겠습니다. 하위 클래스를 적극적으로 사용하면 상위 클래스도 적극적으로 사용하므로 하위 클래스가 인스턴스화되더라도 상위 클래스의 초기화 및 인스턴스화도 이루어지며 실행보다 낫습니다. .2. 객체가 생성될 때마다 생성 코드 블록과 생성 방법은 한 번 실행됩니다. 객체 수에 관계없이 정적 코드 블록은 첫 번째 객체가 생성될 때 한 번만 실행됩니다. 하위 클래스 객체 생성 , 하위 클래스의 정적 코드 블록은 상위 클래스의 정적 코드 블록 다음에 실행되지만 상위 클래스의 생성 코드 블록 및 생성 방법보다 우선합니다.
4. 하위 클래스 객체를 생성할 때 생성은 다음과 같습니다. 하위 클래스의 코드 블록은 상위 클래스 이후에 실행됩니다. 추천 관련 비디오 튜토리얼:
위 내용은 정적 코드 블록, 생성 코드 블록, 생성 방법의 실행 순서는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!