Я читал этот вопрос в StackOverflow:

http://stackoverflow.com/questions/320588/interfaces-with-static-fields-in-java-for-sharing-constants

Причина этого заключалась в том, что когда я просматривал какой-то код веб-приложения, я нашел класс Java с именем java interface.

ISolicitud.java /* interface or a class ¿? */

Проверяем код, он содержит только константы.

Содержимое класса java заставляет меня задуматься о некоторых методах написания кода, в частности о соглашениях об именах. я помню, что для данного имени класса существуют некоторые соглашения об именах при определении класса или интерфейса, когда я увидел это, я перешел по ссылке выше, и для принятого ответа я заметил, что использование констант внутри интерфейса - это плохо упражняться.

Следующее объяснение было извлечено из ссылки, но оно напоминает о том, что нельзя использовать константы с интерфейсами:

[…] То, что класс использует некоторые константы внутри, является деталью реализации. Реализация постоянного интерфейса приводит к утечке этой детали реализации в экспортируемый API класса. Для пользователей класса не имеет значения, что класс реализует постоянный интерфейс. На самом деле, это может даже сбить их с толку. Хуже того, это представляет собой обязательство: если в будущем выпуске класс будет изменен так, что ему больше не нужно будет использовать константы, он все равно должен реализовать интерфейс для обеспечения бинарной совместимости. Если неконечный класс реализует константный интерфейс, все его подклассы будут иметь свои пространства имен, загрязненные константами в интерфейсе.

Джош Блох (Эффективная Java)

Имея это в виду, я ясно понимаю, что нет необходимости использовать константы внутри интерфейсов из-за методов кодирования, влияющих на процесс разработки, в том числе тех, которые содержат методы по умолчанию (да, я работаю с функциями java 8).

Что ж, я думаю здесь, что мы должны быть немного любопытны в отношении соглашений об именах, во-первых, потому что у всех разработчиков есть свой способ кодирования, во-вторых, но не менее важно, о просмотре и применении некоторые хорошие практики кодирования, а не только соглашения об именах, подумайте об этом, это ради лучшего мира программиста :)