title: When does a.equals(a) return false?
body: <p>I was wondering which are the cases where a variable in java could not be equal
  (using the <code>equals()</code> method) to itself.
  I am not talking object here but the variable itself
  (as long as the code compiles and return false when calling equals).
  The only situation in which it does that I found so far is:</p>
  
  <pre><code>public class A {
      public static void main(String args[]){
          A a = new A();
          System.out.println(a.equals((a = null)));
      }
  }
  </code></pre>
  
  <p>Is there any other case in which <code>a.equals(a)</code> would return false? </p>
  
  <p><strong>EDIT:</strong> no overriding of <code>equals()</code> is allowed but you can Modify (cast, inherit) <code>a</code> as much as you want as long as the variable <code>a</code> compare itself in the end.</p>