Will Java Final variables have default values?
http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html, chapter “Initializing Instance Members”: The Java compiler copies initializer blocks into every constructor. That is to say: { printX(); } Test() { System.out.println(“const called”); } behaves exactly like: Test() { printX(); System.out.println(“const called”); } As you can thus see, once an instance has been created, the final field has not been definitely assigned, while … Read more