Static Initialization Block:
In Java, a static initialization block is a piece of code within a class that gets executed only once when the class is loaded into memory by the Java Virtual Machine (JVM). The primary goal of a static initialization block is to initialize static fields or perform any necessary one-time setup tasks for the class.
⚫ Static block executes automatically.
static-initialization-blocks project:
MyClass.java
public class MyClass {
// Static variable
static String message;
// Static initialization block
static {
message = "Hello world!";
}
}
Main.java
public class Main {
public static void main(String[] args) {
MyClass myClass = new MyClass();
System.out.println(myClass.message);
// Output: Hello world!
}
}
static-initialization-blocks-with-constructor project:
MyClass.java
public class MyClass {
// Static variable
static String message;
// Static initialization block
static {
message = "Hello world!";
}
// Constructor
public MyClass() {
message = "Hello from constructor!";
}
}
Main.java
/**
* Order:
* <p> 1. fields
* <p> 2. static block
* <p> 3. constructor
*/
public class Main {
public static void main(String[] args) {
MyClass myClass = new MyClass();
System.out.println(myClass.message);
// Output: Hello from constructor!
}
}
💫The End 💫