Learning Java - importing and packages basics
<p>I'm reading every tutorial I can find as well as a book, still trivial concetps leave me asking questions:</p>

<ol>
<li><p><code>CLASSPATH</code> is a variable registered with the JVM that tells java the root directory in which to start looking for classes/jars/etc?</p></li>
<li><p><code>import</code> is similar to include (C/C++) but provides a namespace via package? I just read how without using import you have to explicitly state the package/namespace for every class (using the FQCN) such as java.util.String (possibly invalid excuse) where as using import java.util would allow me everywhere else in the code to simply refer to class as String.</p></li>
</ol>

<p>What confuses me about import is some examples use import like:</p>

<pre><code>import java.util.*;  // import all public classes from java.util package
import java.util.Hashtable;  // import only Hashtable class (not all classes in java.util   package)
</code></pre>

<p>Yes the article also follows up:</p>

<p>Note that we can call public classes stored in the package level we do the import only. We can't use any classes that belong to the subpackage of the package we import. For example, if we import package <code>world</code>, we can use only the <code>HelloWorld</code> class, but not the <code>HelloMoon</code> class.</p>

<p>So which is it, when I use the * in an import is that not recursively importing all sub-packages?</p>
