Я читал Эффективная Java от Джошуа Блоха.
В пункте 17: "Использовать интерфейсы только для определения типов", я наткнулся на объяснение, где не рекомендуется использовать интерфейсы для хранения констант. Я объясняю ниже.
"Хуже того, он представляет собой обязательство: если в будущей версии класс изменяется так, что он больше не нужно использовать константы, он все равно должен реализовать интерфейс для обеспечения двоичного совместимость ".
Что означает здесь двоичная совместимость?
Может ли кто-нибудь привести меня с примером в Java, чтобы показать, что код совместим с бинарными.