Можете ли вы опубликовать код, который не работает?
Я только что попробовал это на моей собственной машине, и это, кажется, работает. Единственный раз, когда я мог воссоздать ошибку, был следующий код: b.compareTo((B) a);
Что не может работать, так как вы не можете привести родительский тип к его дочернему типу.
Кроме того, я думаю, что это просто ошибка копирования, но в предоставленном коде отсутствуют скобки, и конструктор класса B не соответствует имени класса.