Default access modifier for a Java Constructor
<p>Can anybody explain what the default access modifier is for an explicit no-arg constructor (and other constructors)?</p>

<p>If I declare it private it acts like final as the class cannot then be instantiated (a la Bloch). So obviously not private.</p>

<p>It isn't public by default as I can't cross-package instantiate a Class with a no-modifier Constructor and have to add explicitly the public modifier.</p>

<p>And I don't think it is protected as marking the constructor protected gives a different compile time error than having no modifier.</p>

<p>If I miss the default no-arg constructor from the Class to be cross-package instantiated it instantiates OK (assuming the methods are obviously public).</p>
