title: Java, is this a Deep copy?
body: <p>I cant seem to get a clear precise answer by reading any of the similar questions, I'm trying to deep Clone an object in Java using a copy constructor is this a deep copy:</p>
  
  <pre><code>public class Tile{
      Image sprite = null;
      int x = 0;
      int y = 0;
      public Tile(Image setImage, int sX, int sY){
           this.sprite = setImage;
           this.x = sX;
           this.y = sY;
      }
      public Tile(Tile copyTile){
           this.sprite = copyTile.sprite;
           this.x = copyTile.x;
           this.y = copyTile.y;
      }
      public void setNewLocation(int sX, int sY){
           this.x = sX;
           this.y = sY;
      }
  }
  </code></pre>
  
  <p>Then when I create my tile map I could do something like this</p>
  
  <pre><code>List&lt;Tile&gt; tileList = new List&lt;Tile&gt;();
  Tile masterGrassTile = new Tile(grassImage, 0,0);
  tileList.set(0,new Tile(masterGrassTile));
  tileList.set(1,new Tile(masterGrassTile));
  tileList.get(0).setNewLocation(0,32);
  tileList.get(1).setNewLocation(0,64);
  </code></pre>
  
  <p>If i were to render both tiles at their respective locations would that work? or was the assignment tileList.get(1).setNewLocation(0,64); effecting like a reference and all of them have the same location as the last assignment.</p>