У меня есть основной вопрос в Java, но это общий вопрос в ООП. Почему интерфейсы позволяют устанавливать поля? Разве это не противоречит тому, что должен делать интерфейс?
Как я это понял, интерфейс - это то, что на английском языке было бы прилагательным. Итак, если мой класс реализует интерфейсы Runnable и Serializable, я гарантирую пользователю, что мой класс будет удовлетворять условиям Runnable и Seriablizable. Однако это означало бы, что интерфейсы "неактивны", но им разрешено иметь поля в Java...
Я что-то пропустил?