This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
why can't we assign value for final static variable fi in initializer block and also in constructor? but this is possible with static variable fi.
You cannot assign value to a final static constant inside instance initializer block or constructor as you can use static fields even without making an instance of the class. So the final constant must be initialized with declaration or in a static initializer block.
This is why final constants must be assigned a value in their declaration or static initializer blocks as they run when the class is loaded...