We meet again Srinivas . final is final . Once defined u can't change it in u'r code . This means that nowhere in u'r code u can assign a value to it . So it makes sense that u gotta initialize it upon declaration .
A final variable is basically a constant u could initialize it with an expression .
final int PI = 3.14 ;//valid
final int PI = 22/7 ;//valid
final int PI = x * 12/7 ;//valid
10.30am & i still haven't slept . Insomnia i guess !