title: What is wrong with my Card class, I do not want it being abstract
body: <p>I have to make this class comparable, so I can compare cards. Every time I try it keeps asking me to make the card abstract, the exact error is "Card is not abstract and does not override abstract method compareTo(Card) in Comparable"</p>
  
  <pre><code>        package p2cw1;
  
  import java.io.Serializable;
  import java.util.ArrayList;
  import java.util.Comparator;
  
  public class Card implements Serializable, Comparable&lt;Card&gt; {
  
      static final long serialVersionUID = 100L;
  
      public enum Suit {
  
          CLUBS, SPADES, DIAMONDS, HEARTS
      };
  
      public enum Rank {
  
          TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE
      };
  
      public Rank rank;
      public Suit suit;
      public Card Compare1;
      public Card Compare2;
  
      public Card(Rank rank, Suit suit) {
          this.rank = rank;
          this.suit = suit;
      }
  
      public Rank rank() {
          return rank;
      }
  
      public Suit suit() {
          return suit;
      }
  
      public String toString() {
          return rank + " of " + suit;
      }
  
      public Rank getNext(Rank r) {
          this.rank = r;
          int s = rank.ordinal()+1;
          Card.Rank result = Card.this.rank();
          System.out.println(s);
          return result;
      }
      }
  </code></pre>
  
  <p>My apologies if I did not put the code correctly on this site. First time using it</p>