title: ArrayList of static variables
body: <p>Suppose I have this code.</p>
  
  <pre><code>public class Data {
      public static int x, y;
      // ...
  }
  // ...
  public static ArrayList&lt;Data&gt; myData = new ArrayList&lt;Data&gt;();
  </code></pre>
  
  <p>Now, if from my main class do</p>
  
  <pre><code>Data thisData;
  thisData.initData();
  myData.add(thisData);
  thisData.changeData();
  myData.add(thisData);
  // ... repeat and repeat and repeat
  </code></pre>
  
  <p>The question is: how does the static prefix change the behaviour of the code?
  I mean: will myData be populated by always the same object, because its fields x and y have been declared static? Or will myData be populated by always new objects?
  In other words: how does the add() statement add the object? duplicating it?</p>
  
  <p>thanks.</p>