Чем абстрактный класс отличается от интерфейса?
Я тут в просторах рунета встретил комикс который меня смутил т. к. в Java 8 пока вообще не влезал, но что бы это могло значить?

Это задолго до Java 8 было :)
Абстрактный метод - метод, объявленный со словом abstract, у которого нет тела, он нужен только для того, чтобы определить его у потомков. Абстрактный класс - класс, объявленный со словом abstract. Только абстрактный класс может содержать абстрактные методы, и экземпляров абстрактного класса быть не может (метод-то не определен). Интерфейс - аналог класса, содержащий только методы без тела (фактически абстрактные, просто слово abstract не используется).
Основной смысл в том, что класс-предок (хоть бы и абстрактный) может быть только один, а интерфейсов-предков - несколько. А теперь пошел читать, что там в Java 8 намутили.
зная ответ на данный вопрос, стал ли ваш код лучше и правильнее?...
попробуй создать "экземпляр интерфейса"... чтобы понять разницу...