About static variable initialization
Here is an exercise where you have to guess the output :-)
publicclass MyClass{
privatestaticint x = getValue();
privatestaticint y = 5;
privatestaticint getValue(){
System.out.print("Running getValue ");
return y;
}
publicstaticvoid main(String[] args){
System.out.println(x);
}
}
This code outputs "Running getValue 0" I don't understand why?

