In Java static block is used to initialize the static data members. Important point to note is that static block is executed before the main method at the time of class loading.
This is illustrated well in the following example:
One question arises from the above example:
Question: Can we execute a Java class without declaring main() method?
Answer: No since JDK 1.7 it is not possible to execute any java class without main() method. But it was one of the ways till JDK 1.6.
Output:(In JDK 1.6)
Inside Static Block.
But from JDK 1.7 onwards the above code gives an error in output.
Error: Main method not found in class staticExample, please define the main method as: public static void main(String args) or a JavaFX application class must extend javafx.application.Application
- Understanding "static" in "public static void main" in Java
- Understanding public static void main(String args) in Java
- Difference between static and non-static method in Java
- Method and Block Synchronization in Java
- Is main method compulsory in Java?
- How to overload and override main method in Java
- Static and non static blank final variables in Java
- Static method in Interface in Java
- Difference between static and non-static variables in Java
- In Java, Can we call the main() method of a class from another class?
- The Initializer Block in Java
- Main thread in Java
- Instance Initialization Block (IIB) in Java
- GFact 48 | Overloading main() in Java
- Valid variants of main() in Java
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.