Android 코드 블록 실행 순서 분석 요약

본 고 는 안 드 로 이 드 코드 블록 의 실행 순서 분석 정 리 를 소개 하고 여러분 에 게 공유 합 니 다.구체 적 으로 다음 과 같 습 니 다.
하위 클래스,부모 클래스 변수,코드 블록,그리고 구조 방법의 로드 순 서 는 우리 가 프로그램 개발 에서 자주 발생 하 는 문제 이자 헷 갈 리 기 쉽다.
기초 준비:
  • 변수:구성원 변수(클래스 변수,인 스 턴 스 변수 라 고 함)와 부분 변수
  • 방법:구성원 방법 과 구조 방법코드 블록:일반 코드 블록,구조 코드 블록,정적 코드 블록,동기 코드 블록테스트 의 부모 클래스:
    
    public class ParentClass {
      public static String name = "  ";
      public int age = 40;
      public ParentClass(){
        System.out.println("      ");
      }
    
      //      
      {
        System.out.println("        " + "---" + age);
      }
    
      //     
      static{
        System.out.println("       " + "---" + name);
      }
    }
    
    
    테스트 의 하위 클래스:
    
    public class ChildrenClass extends ParentClass{
      public static String name = "  ";
      public int age = 15;
      public ChildrenClass(){
        System.out.println("      ");
      }
      {
        System.out.println("        " + "---" + age);
      }
    
      static {
        System.out.println("       " + "---" + name);
      }
    
    }
    
    
    new Children Class()결과 실행:

    결과 분석:
    부모 클래스 정적 코드 블록 이 실행 되 기 전에 부모 클래스 정적 변 수 는 이미 실행 되 었 습 니 다.
    부모 클래스 비정 상 코드 블록 이 실행 되 기 전에 부모 클래스 비정 상 변 수 는 이미 실행 되 었 습 니 다.
    위의 결론 은 하위 와 같은 이치 이다.
    코드 블록 실행 순서 요약:
    부모 클래스 의 정적 구성원 변수->부모 클래스 정적 코드 블록->하위 클래스 정적 구성원 변수->하위 클래스 정적 코드 블록->부모 클래스 비 정적 코드 블록->부모 클래스 비 정적 코드 블록->부모 클래스 구조 방법->하위 클래스 비 정적 변수->하위 클래스 비 정적 코드 블록->하위 클래스 구성 방법.
    또한 코드 블록 에 대한 정리:
    4.567917.클래스 가 처음 호출 될 때 정적 코드 블록 은 이번 만 실 행 됩 니 다4.567917.정적 코드 블록 과 정적 방법 은 정적 변수 만 호출 할 수 있 습 니 다
  • 비 정적 코드 블록 과 비 정적 방법 은 모든(정적+비 정적)변 수 를 호출 할 수 있 습 니 다
  • 이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기