Итак, у меня есть интерфейс с кучей методов, которые нужно реализовать, имена методов не имеют значения.
Объекты, которые реализуют этот интерфейс, часто помещаются в коллекции, а также имеют специальный формат toString (), который я хочу, чтобы они использовали.
Итак, я подумал, что было бы удобно поместить hashCode (), equals () и toString () в интерфейс, чтобы убедиться, что я не забыл переопределить метод по умолчанию для них. Но когда я добавил эти методы в интерфейс, IDE / Compiler не будет жаловаться, если у меня не реализованы эти три метода, даже если я явно поместил их в интерфейс.
Почему это не будет навязано мне? Он жалуется, если я не реализую другие методы, но не применяет эти три. Что дает? Любые подсказки?