В Java многие «абстрактные» классы имеют префикс «Abstract», например, - AbstractList и т. Д.
В конце концов, почему важно знать, является ли класс абстрактным, просто прочитав его имя. Есть только так много деталей, которые можно втиснуть в имя класса, прежде чем они станут достаточно длинными.
Лично я нахожу приставку "I" для интерфейсов довольно уродливой. Я считаю, что не следует пытаться закодировать такие детали в имени класса. Я полагаю, что, комбинируя детали реализации с именем интерфейса, мы получаем действительно значимые, но короткие имена. Прекрасным примером являются карта Java, HashMap и т. Д., Все они очень разборчивы и лаконичны.