It basically means this:
A final variable can be initialised, but can't be changed once initialised. For a final member variable, that initialisation can take place when it's declared, in an initialisation block, or in the contstructor.

Matthew Brown wrote:It basically means this:
A final variable can be initialised, but can't be changed once initialised. For a final member variable, that initialisation can take place when it's declared, in an initialisation block, or in the contstructor.

Matthew Brown wrote:It basically means this:
A final variable can be initialised, but can't be changed once initialised. For a final member variable, that initialisation can take place when it's declared, in an initialisation block, or in the contstructor.

Matthew Brown wrote:It basically means this:
A final variable can be initialised, but can't be changed once initialised. For a final member variable, that initialisation can take place when it's declared, in an initialisation block, or in the contstructor.

Matthew Brown wrote:It basically means this:
A final variable can be initialised, but can't be changed once initialised. For a final member variable, that initialisation can take place when it's declared, in an initialisation block, or in the contstructor.

Did you mean,compiler will look all methods after constructor and initialization block?

Here are the steps when new FinalTest() is invoked:
1. FinalTest() constructor is called.
2. Implicilty the super() contructor, which is the Object's constructor is called.
3. When Object's constructor is completed, FinalTest constructor is completed.
4. value is assigned to 10.