I am trying to define an abstract class implementing Comparable. When I define the class with following definition:

```
public abstract class MyClass implements Comparable <MyClass>

```

subclasses have to implement `compareTo(MyClass object)`. Instead, I want every subclass to implement `compareTo(SubClass object)`, accepting an object of its own type. When I try to define the abstract class with something like:

```
public abstract class MyClass implements Comparable <? extends MyClass>

```

It complains that "A supertype may not specify any wildcard."

Is there a solution?