Why must a final variable be initialized before constructor completes?
public class Ex { final int q; }
When I compile this code I get er
Because final prevents you from modifying variables, but it has to be initialized at some point, and the constructors is the right place to do so.
final
In your case, it would be called a blank final because it is not initialized when declared.