Пример

public static abstract class Base implements Comparable {
public Base( Object other ) {
super();
System.out.println( compareTo( other ) );
}
}

public static final class Derived extends Base {
public Derived( String str, Object other ) {
super( other );
this .str = str;
}

public int compareTo( Object other ) {
// str is null
return str.compareTo( other.toString() );
}
private String str;

}

public static void main( String[] args ){
Derived derived = new Derived( "Здравствуй, мир!", "Здравствуй, мир!" ); //$NON-NLS-1$ //$NON-NLS-2$
}

Решение
Удалите вызов абстрактного метода из конструктора.

public static abstract class Base implements Comparable {
public Base() {}
}

public static final class Derived extends Base {
public Derived( String str ) {
super();
this .str = str;
}

public int compareTo( Object other ) {
return str.compareTo( other.toString() );
}

private String str;
}

public static void main( String[] args ){
Derived derived = new Derived( "Здравствуй, мир!" ); //$NON-NLS-1$
System.out.println( derived.compareTo( "Здравствуй, мир!" ) ); //$NON-NLS-1$
}