반응형
POINT]
constructor 혹은 other methods보다 우선으로 print out된다.
//SIBTest Class // static initialization block 설명위한
package com.timbuchalka;
public class SIBTest {
public static final String owner; // public static final field
static { //static initialization block V
owner = "tim";
System.out.println("SIBTest static initialization block called");
}
public SIBTest() { //constructor
System.out.println("SIB constructor called");
}
static { //static initialization block V
System.out.println("2nd initialization block called");
}
public void someMethod() { //another method
System.out.println("someMethod called");
}
}
//Main class
package com.timbuchalka;
public class Main {
public static void main(String[] args) {
System.out.println("Main method called");
SIBTest test = new SIBTest(); //object, call constructor V
test.someMethod(); //another method
System.out.println("Owner is " + SIBTest.owner); // ClassName.owner
}
} //참고)static method는 public static feild directly하게 부를수 있음.
//object 굳이 설정 없어도
//Output
D:\IT\JDK\jdk11.0.6_10\bin\java.exe "-javaagent:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\lib\idea_rt.jar=51097:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\bin" -Dfile.encoding=UTF-8 -classpath D:\IT\Naming-Conventions-and-Packages-Final-Part-2-and-Static-Initializers-Source-code\out\production\Final com.timbuchalka.Main
Main method called
SIBTest static initialization block called // V
2nd initialization block called // V
SIB constructor called //Constructor전에 static initialization block이 먼저 출력됨.V
someMethod called //another method
Owner is tim
Process finished with exit code 0
'JavaCode(review)' 카테고리의 다른 글
자바 용어 사이트 oracle java tutorial (0) | 2020.07.02 |
---|---|
binary search tree (0) | 2020.07.01 |
Final statement / 1.개념 코딩/ 2. password 암호화 코딩 (0) | 2020.06.30 |
Static Statement (0) | 2020.06.29 |
Account coding / access modifier 'private' example (0) | 2020.06.28 |