title: Does an anonymous inner class always capture a reference to "this" (outer) object when accessing its primitives etc.?
body: <p>If I have</p>
  
  <p>[EDIT: added the type definition for "Inner"]</p>
  
  <pre><code>interface Inner{
      public void execute();
  }
  
  class Outer{
      int outerInt;
      public void hello(){
          Inner inner = new Inner(){
              public void execute(){
                  outerInt=5;
              }
          }
  
          //later
          inner.execute();
      }
  }
  </code></pre>
  
  <p>will the call to <code>inner.execute()</code> set the <code>outerInt</code> variable of <em>that particular</em> <code>Outer</code> object to <code>5</code>, wherever it is called from, and for as long as that <code>Inner</code> object exists? Or will it just change a copy of the <code>outerInt</code> variable and not affect the original <code>Outer</code> object?</p>