Я не обязательно согласен с правилом, но я вижу, откуда оно.
Дело в том, что в этом случае вы ничего не потеряете. Единственный раз, когда вы столкнетесь с проблемами, связанными с множественным наследованием, будет, если вы реализуете несколько интерфейсов, содержащих методы с одинаковой сигнатурой и различными реализациями.
Однако это запрещено Java ( необходимо предоставить собственную реализацию этого метода), поэтому в этом нет никакой опасности.
В целом, интерфейсы более универсальны, чем классы, поэтому имеет смысл использовать их, если это возможно.
В качестве контраргумента была введена функция интерфейса default
, позволяющая добавлять методы к существующим интерфейсам, не нарушая существующий код, но здесь это не так.