The instance initializer block in the first example -- the one that tries to print "SCEA" -- will only be called if an instance of the class is created. Instance initializers run at the beginning of each constructor, immediately after any superclass constructors. In the "maClass" example, no instance of maClass is ever constructed -- i.e., there's no "new maClass()" anywhere -- so that initializer is never invoked.
String s1="ram";//creates a new object of class String, and assigns it to the reference variable s1.
String s1=new String("ram")//creates a new object of class String, and assigns it to the reference variable s1.