Need for initializing final reference within parameterized constructor(s) in Java
<pre><code>import java.util.*;

public Class C
{
     final Vector v;
     C()
     {
          v=new Vector();
     }

     C(int i)
     {
          //Here, it is an error. v might not have been initialized.
     }

     public void someMethod()
     {
           System.out.println(v.isEmpty());
     }

     public static void main(String[] args)
     {
          C c=new C();
          c.someMethod();
     }
} 
</code></pre>

<hr>

<p>The Above code is a compile time error. I know but it says( in NetBeans) variable v should be initialized. When I initialized it in the overloaded constructor it fixes the problem and prints "true". My problem is why should I initialize it again in the overloaded version of constructors.(I have initialized it once in the default constructor ) and I'm not even using the overloaded version. Why?</p>
