When you create a reference to an Employee object, yes, the Employee class will be loaded. But the code you posted does not create a reference. It simply declares a variable of Employee type, and that doesn't cause the Employee class to be loaded.
Here's some code which creates a reference:
Clarence J M Tauro
Joined: Aug 09, 2008
Now, which means when I just do
the class does not get loaded, and static initilizer/block does not get called right. I also verified the same.
Now can I have the static block of Employee class executed without creating the instance of the class or accessing some static method or variable of Employee class? I mean to say, how do we load the class directly?