title: Is null really special or not?
body: <p>As per <a href="http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.1" rel="nofollow">JLS 4.1</a> :</p>
  
  <blockquote>
    <p>There is also a special null type, the type of the expression null
    (§3.10.7, §15.8.1), which has no name.</p>
    
    <p>Because the null type has no name, it is impossible to declare a
    variable of the null type or to cast to the null type.</p>
    
    <p>The null reference is the only possible value of an expression of null
    type.</p>
    
    <p>The null reference can always undergo a widening reference conversion
    to any reference type.</p>
    
    <p>In practice, the programmer can ignore the null type and just pretend
    that <strong>null is merely a special literal that can be of any reference
    type.</strong></p>
  </blockquote>
  
  <p>If null could really be of any reference type then why IS-A test fails?
  i.e.</p>
  
  <pre><code>null instanceof Object      //returns false
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>null instanceof String      //returns false
  </code></pre>