I metodi in un’interfaccia Java dovrebbero essere dichiarati con o senza un modificatore di accesso pubblico?

I metodi in un’interfaccia Java dovrebbero essere dichiarati con o senza il modificatore di accesso public ?

Tecnicamente non importa, ovviamente. Un metodo di class che implementa interface è sempre public . Ma cos’è una convenzione migliore?

Java in sé non è coerente in questo. Vedi ad esempio Collection vs. Comparable o Future vs. ScriptEngine .