클래스 초기화 문제

공용  클래스 주요 확장 { 
    
    개인 문자열의 = "안녕하세요"를 ;
    공공 홈페이지 () { 
        안녕하세요 (); 
    } 
    공공  공극 안녕하세요 () { 
        에서 System.out.println ( "S"+ S); 
    } 
    공공  정적  무효 메인 (문자열 []를 인수) {
         새로운 메인 (); 
    
    } 
} 

클래스 {
     개인 문자열 S2 = "세계" ;
    공용 A () { 
        헬로 (); 
        에서 System.out.println ( ); 
    }
    공공  무효 안녕하세요 () { 
        에서 System.out.println ( "S2"+ S2); 
    } 
}
결과 
S 
com.briup.Main@15db9742 
S 안녕하세요

 

해상도 :

다음과 같이 초기화 프로세스는 다음과 같습니다 
1. 먼저 고정 멤버 변수가 초기화 프로그램의 출현 순서로 상위 클래스 및 정적 코드 블록에서 초기화된다; 
2. 그 다음, 고정 부재 변수 초기화 서브 클래스 및 정적 코드 블록은 초기화 프로그램의 출현 순서; 
3. 다음으로, 블록 부재 변수 공통 부모 클래스 초기화 상위 클래스 생성자의 실행;
(4) 마지막으로, 일반 멤버 변수와 서브 수행 방법 구성된 서브 코드 블록을 초기화하고;

추천

출처www.cnblogs.com/wskb/p/10958923.html