All variables marked final should be initialized. You can initialize them with the default value but you have to do this
explicitly i.e. final int x=0 and not final int x;. With member variables, they do not have to be initialized when they are declared, but must be
given a value in the constructor. If you have multiple constructors or if else blocks you must make sure that the
final variable is given value in all the constructors/blocks (but not necessarily the same value) else you will get a compiler error.