2013년 10월 13일 일요일

[JAVA생성자]자바 초기화(Java Initialize) 순서, static초기화블록 - 클래스 초기화 순서 클래스가 메모리에 적재된 후 클래스가 사용되기전 한번 초기화 모든 클래스 변수가 디폴트 값으로 초기화(0,’\u0000’,false, null) 클래스 변수 초기화 수식 클래스 초기화 블록 클래스 블록 사용 예 클래스 변수 초기화 수식만으로 부족할 때 배열 클래스 변수를 초기화할 때 여러 개의 클래스 변수를 한번에 초기화할 때 예외(exception)을 발생시키는 메쏘드를 호출할 필요가 있을 때 class StaticInit { // 클래스 변수 초기화 수식 public static int myArray[] = new int[10]; // 클래스 초기화 블록 static { myArray[0] = 1; for(int i = 1; i < 10; ++i) myArray[i] = i; System.out.println( ">>> 클래스 초기화 블록 실행..." ); } public StaticInit() { System.out.println(">>> 생성자 실행......"); } public static void main( String args[] ) { new StaticInit(); new StaticInit(); } } [결과] >>> 클래스 초기화 블록 실행... >>> 생성자 실행...... >>> 생성자 실행...... [출처] 오라클자바커뮤니티 - http://www.oraclejavanew.kr/bbs/board.php?bo_table=LecJava&wr_id=603 오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의) www.onjprogramming.co.kr [개강확정강좌]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr) [평일야간] [10/17]SQL초보에서실전전문가까지 [10/17]자바초보에서안드로이드까지 JAVA ORACLE iPhone/Android .NET 표준웹/HTML5 채용/취업무료교육 초보자(재학생)코스 Spring3.X, MyBatis, Hibernate실무과정 총 5일 35시간 10-21 자바초보에서안드로이드까지 총 18일 54시간 10-17 Spring3.X, MyBatis, Hibernate실무과정 총 12일 36시간 10-17 JAVA&WEB프레임워크실무과정 총 33일 99시간 10-24 자바초보에서안드로이드까지 총 8일 56시간 10-26 Spring3.X, MyBatis, Hibernate실무과정 총 5일 35시간 10-27 JAVA&WEB프레임워크실무과정 총 14일 98시간 10-27

[JAVA생성자]자바 초기화(Java Initialize)  순서, static초기화블록

- 클래스 초기화 순서

클래스가 메모리에 적재된 후 클래스가 사용되기전 한번 초기화
모든 클래스 변수가 디폴트 값으로 초기화(0,’\u0000’,false, null)
클래스 변수 초기화 수식
클래스 초기화 블록
클래스 블록 사용 예
클래스 변수 초기화 수식만으로 부족할 때
배열 클래스 변수를 초기화할 때
여러 개의 클래스 변수를 한번에 초기화할 때
예외(exception)을 발생시키는 메쏘드를 호출할 필요가 있을 때

class StaticInit
{
 // 클래스 변수 초기화 수식
    public static int myArray[] = new int[10]; 
 
    // 클래스 초기화 블록
    static          
    {
     myArray[0] = 1;
        for(int i = 1; i < 10; ++i)
         myArray[i] = i;
        
        System.out.println( ">>> 클래스 초기화 블록 실행..." );
    }
    
    public StaticInit() {
     System.out.println(">>> 생성자 실행......");
    }
    public static void main( String args[] )
    {
        new StaticInit();
        new StaticInit();
    }
}
 
[결과]
 
>>> 클래스 초기화 블록 실행...
>>> 생성자 실행......
>>> 생성자 실행......
 
 

오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  

[개강확정강좌]오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(www.onjprogramming.co.kr)




댓글 없음:

댓글 쓰기