Definition
A static block is a block of code enclosed in
{}and marked with thestatickeyword.
- It runs once, automatically, when the class is first loaded into memory, even before any constructor or main method is called.
class AppConfig {
static String version;
static {
version = "1.0.0";
System.out.println("AppConfig 초기화 완료");
}
}Why?
- When initializing static variables that need logic (not just direct assignment)
- loading native libraries
- Some Java programs use
.dllor.sofiles viaSystem.loadLibrary(). Static blocks are perfect for loading them once, during class loading static { System.loadLibrary("nativeLib")}- debugging
- Some Java programs use