When does a class need "New" to instantiate. Why a class does NOT need New?
<p>I am new to Java. One thing confuses me is to why some of the classes need <code>new</code> to instantiate, and why some others do NOT need <code>new</code> to instantiate.</p>

<p>For example, I am looking at log4j, it does not need <code>new</code>.  </p>

<pre><code>// get a logger instance named "com.foo"
Logger  logger = Logger.getLogger("com.foo");
logger.setLevel(Level.INFO);
</code></pre>

<p>Why do some other classes need new? For example, an Employee class: </p>

<pre><code>Employee X = new Employee (John);
X.getwork();
</code></pre>

<p>etc etc.</p>

<p>Why we did not say , <code>Logger logger = new Logger(...);</code>? and why were we able to use it even without <code>new</code>, like <code>logger.setLevel()</code>, etc.</p>
