Why is System.in declared as nullInputStream() instead of null?
<p>In the <a href="http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/System.java" rel="nofollow"><code>System</code></a> class, <code>in</code>, <code>out</code>, and <code>err</code> are static fields. These fields are declared for example:</p>

<pre><code> public final static InputStream in = nullInputStream();
</code></pre>

<p>Why declare <a href="http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/System.java#System.nullPrintStream%28%29" rel="nofollow"><code>nullInputStream()</code></a> instead of <code>null</code>?</p>
