자바 학습 노트 의 계승 과 초기 화

4618 단어 자바이어받다
더 많은 박문 은 나의 개인 독립 블 로그: 천한 꿈 을 참고 할 수 있다.
계승 을 포함 한 초기 화 전 과정 을 탐구 하기 전에 코드 블록 에 관 한 지식 을 정리 합 니 다.
부호 블록
자바 에서 이른바 코드 블록 이란 큰 괄호 {} 로 여러 줄 의 코드 를 한데 묶 어 하나의 독립 된 데이터 체 를 형성 하 는 것 이다.자바 의 코드 블록 은 주로 다음 과 같은 네 가지 로 나 뉜 다. 일반 코드 블록, 정적 코드 블록, 구조 코드 블록, 동기 코드 블록 이다.
일반 코드 블록
평소에 우리 가 가장 많이 사용 하 는 것 은 일반 코드 블록 이다. 그것 은 방법 명 뒤에 큰 괄호 {} 로 묶 은 코드 블록 이다.예:
public class Demo {
    public void demo(){
        System.out.println("     ");
    }
}

정적 코드 블록
정적 코드 블록 은 static 키워드 로 수식 한 뒤에 큰 괄호 {} 로 묶 은 코드 블록 이다.정적 속성 을 초기 화 하 는 데 사 용 됩 니 다.예:
public class Demo {
    static{
        System.out.println("     ");
    }
}

구조 코드 블록
구조 코드 블록, 즉 클래스 에서 수정자, 접두사, 접두사 가 없 는 코드 블록 을 직접 정의 합 니 다.예:
public class Demo {
    public Demo (){
    }

    {
        System.out.println("     ");
    }
}

동기 코드 블록synchronized 키 워드 를 사용 하여 수식 하고 "{}" 로 묶 은 코드 세 션 을 사용 합 니 다. 같은 시간 에 하나의 스 레 드 만 이 방법 블록 에 들 어 갈 수 있 음 을 나타 내 는 다 중 스 레 드 보호 메커니즘 입 니 다.
주의: 1. 정적 코드 블록, 그 역할 단 계 는 클래스 이 고 구조 코드 블록, 구조 함수 이 며 그 역할 단 계 는 대상 입 니 다.2. 정적 코드 블록 은 클래스 가 불 러 오 면 실 행 됩 니 다. 클래스 가 불 러 오 면 실 행 됩 니 다. 그리고 한 번 만 불 러 옵 니 다. 주로 클래스 를 초기 화 하 는 데 사 용 됩 니 다.3. 구조 코드 블록 은 대상 을 만 들 때마다 한 번 씩 실 행 됩 니 다. 구조 함수 에 의존 하지만 구조 함수 보다 먼저 실 행 됩 니 다. 주로 서로 다른 대상 의 공통성 초기 화 내용 과 인 스 턴 스 환경 초기 화 에 사 용 됩 니 다.4. 삼자 의 집행 순 서 는 다음 과 같다. > > 계승 및 초기 화
다음 예 시 를 통 해 이해 할 수 있다
public class HelloB extends HelloA {
    public static void main(String[] args) {
        new HelloB();
        new HelloB(1);
    }

    /** *        */
    public HelloB()
    {
        System.out.println("       B");
    }

    /** *        */
    public HelloB(int x)
    {
        System.out.println("       B");
    }

    /** *       */
    {
        System.out.println("      B");
    }

    /** *       */
    static
    {
        System.out.println("      B");
    }
}

class HelloA
{
    /** *        */
    public HelloA()
    {
        System.out.println("       A");
    }

    /** *       */
    {
        System.out.println("      A");
    }

    /** *       */
    static
    {
        System.out.println("      A");
    }
}
/*            A       B       A        A       B        B       A        A       B        B */

결 과 를 통 해 알 수 있 듯 이 계승 과 관련 될 때 그 집행 순 서 는 다음 과 같다. 1. 부모 류 의 정적 코드 블록 을 집행 한다. 2. 하위 류 의 정적 코드 블록 을 집행 한다. 3. 부모 류 의 구조 코드 블록 을 집행 한다. 4. 부모 류 의 구조 함 수 를 집행 한다. 5. 하위 류 의 구조 코드 블록 을 집행 한다.

좋은 웹페이지 즐겨찾기