title: Compiler tells me to implement compareTo() method when i have already have
body: <p>I have the following class which implements the <code>Comparable</code> interface. I have already defined the <code>compareTo()</code> method in it, but somehow the compiler still tells me I have to implement it.</p>
  
  <pre><code>public class Person implements Comparable { 
      private String fName;
      private String lName;
      private Integer age;
      public Person (String fName, String lName, int age)
      {
          this.fName = fName;
          this.lName = lName;
          this.age = age;
      }
  
      // Compare ages, if ages match then compare last names
      public int compareTo(Person o) {
          int thisCmp = age.compareTo(o.age);        
          return (thisCmp != 0 ? thisCmp : lName.compareTo(o.Name));
      }
  }
  </code></pre>
  
  <p>The error message:</p>
  
  <pre><code>The type Person must implement the inherited abstract method Comparable.compareTo(Object)
  Syntax error on token "=", delete this token
      at me.myname.mypkg.Person.&lt;init&gt;(Person.java:6)
  </code></pre>
  
  <p>I'm pretty positive I do not have to cast to root class <code>Object</code> at the <code>compareTo()</code>  method. So what can I be doing wrong?</p>