Должны ли быть объявлены методы в интерфейсе Java с модификатором доступа public или без него?
Технически это не имеет значения, конечно. Метод класса, реализующий interface, всегда public. Но что является лучшим соглашением?
Сама Java несовместима в этом. См., Например, Collection vs. Comparable, или Future vs. ScriptEngine.