Private constructor and inheritance (Java)
<p>I have first class for which constructor takes a parameter. </p>

<pre><code>public class First {
    First(Object o){
        o.toString();
    }
}
</code></pre>

<p>I have a second class which extends this first one.</p>

<pre><code>public class Second extends First {
    Second(Object o) {
        super(o);
    }
}
</code></pre>

<p>What I want is to keep the constructor of <code>Second</code> class private in order <strong>to have a possibility to instantiate the only one instance of this class</strong> (using Singleton pattern, for instance), but compiler doesn't allow me to do that.</p>

<p>If I can't set the constructor as private here, what can I do to allow the only one instance of the class to be created? </p>
