1. Using Instance Initializer block
Instance Initializer block is used to initialize the instance data member. It runs each time when object of the class is created.
In above program, there is main() method along with Instance Initializer block. The Instance Initializer block is not called while executing the main method which proves that the class is not initialised while executing the main method.
2. By using abstract keyword
We cannot create the instance of an abstract class. Because it's abstract and an object is concrete. An abstract class is sort of like a template, or an empty/partially empty structure, you have to extend it and build on it before you can use it.
However we are able to execute the main method inside the abstract class which proves that there is no need to create the object while executing the main method.
3. Using Constructor
A default (no-argument) constructor is called while creating the object of any class.
The constructor is not called while executing main method. Hence the instance of class is not created while execution of main method.