title: Java Calling A Method without creating an instance
body: <p>Please excuse me if this question looks dumb for a regular java programmer but i'm stuck with this problem.
  I want to call the method <code>getPoliticCards()</code> from the class <code>PoliticCard</code> in the class <code>DrawCard(Player player)</code>. At first i used a <code>static arraylist</code> in <code>PoliticCard</code> so i had no problems, but i had to change it because i'm supposed to be able to run several sessions of the game at the same time.</p>
  
  <pre><code>public enum Color {
      BLACK, PURPLE
  }
  public class Player {
      private int id;
      private ArrayList&lt;Color&gt; politicCards;
      public Player(int id){
          this.setId(id);
          ArrayList&lt;Color&gt; array=new ArrayList&lt;Color&gt;();
          setPoliticCards(array);
      }
      public int getId() {
          return id;
      }
      public void setId(int id) {
          this.id = id;
      }
  
      public ArrayList&lt;Color&gt; getPoliticCards() {
          return politicCards;
      }
      public void setPoliticCards(ArrayList&lt;Color&gt; politicCards) {
          this.politicCards = politicCards;
      }
  }
  public class PoliticCard {
      private ArrayList&lt;Color&gt; politicCards;
      public PoliticCard(){
          setPoliticCards(new ArrayList&lt;Color&gt;());
          politicCards.add(Color.BLACK);
          politicCards.add(Color.PURPLE);
      }
      public ArrayList&lt;Color&gt; getPoliticCards() {
          return politicCards;
      }
      public void setPoliticCards(ArrayList&lt;Color&gt; politicCards) {
          this.politicCards = politicCards;
      }
  
  
  
  }
  public class DrawPoliticCard {
      public DrawPoliticCard(Player player){
          PoliticCard politicCard = new PoliticCard();//I know that to 
  //call a method from another class you should create an instance,
  //but isn't *new PoliticCard();* creating a new arraylist in PoliticCard()?, 
  //what i want is to create the arraylist only once (like it's written in the test below) 
  //and then use the same updated arraylist each time i use this constructor
          player.getPoliticCards().add(politicCard.getPoliticCards().get(0));
          politicCard.getPoliticCards().remove(0);
  
      }
  
  }
  public class ModelPlayerTest {
  
      @Test
      public void testDrawCard() {
          Player player = new Player(1);
          new PoliticCard();
          new DrawPoliticCard(player);
          assertNotNull(player.getPoliticCards().get(0));
      }
  
  
  }
  </code></pre>