title: Java inheritance; passing a subclass to an abstract method of a superclass
body: <p>Sorry for the title, couldn't come up with anything clearer.
  I have the following structure:</p>
  
  <pre><code>public interface Vehicle {...}
  public class Car implements Vehicle {...}
  </code></pre>
  
  <p>then:</p>
  
  <pre><code>public abstract class Fixer {
  ...
     abstract void fix(Vehicle vehicle);
  ...
  }
  </code></pre>
  
  <p>and would like to have:</p>
  
  <pre><code>public class CarFixer extends Fixer {
      void fix(Car car) {...}
  }
  </code></pre>
  
  <p>but this doesn't work. Eclipse says: <code>The type CarFixer must implement the inherited abstract method Fixer.fix(Vehicle)</code>. Any idea how can I solve this?</p>