I know that Initialization blocks run when the class is first loaded (a static initialization block) or when an instance is created (an instance initialization block).
class SmallInit {
   static int x;
   int y;
   static { x = 7 ; } // static init block
   { y = 8; } // instance init block
}
But what is the special benefit of this, when we can do it like this:
class SmallInit {
   static int x = 7;
   int y = 8;
}
 
     
     
     
     
     
    