Я много читал о интерфейсах и наследовании классов в Java, и я знаю, как делать то и другое, и я думаю, что у меня есть хорошее чувство для обоих. Но кажется, что никто никогда не сравнивает двух бок о бок и объясняет, когда и почему вы хотели бы использовать тот или иной. Я не нашел много раз, когда реализация интерфейса была бы лучшей системой, чем расширение суперкласса.
Итак, когда вы реализуете интерфейс и когда вы расширяете суперкласс?