A pesar de que esta pregunta se hizo hace mucho tiempo, pero creo que una descripción completa aclararía por qué no hay necesidad de utilizar un resumen público antes de los métodos y un final público estático antes de las constantes de una interfaz.
En primer lugar, las interfaces se utilizan para especificar métodos comunes para un conjunto de clases no relacionadas para las cuales cada clase tendrá una implementación única. Por lo tanto, no es posible especificar el modificador de acceso como privado ya que otras clases no pueden acceder a él para ser anulado.
Segundo, aunque uno puede iniciar objetos de un tipo de interfaz, las clases que lo implementan realizan una interfaz y no la heredan. Y dado que una interfaz podría ser implementada (realizada) por diferentes clases no relacionadas que no están en el mismo paquete, el modificador de acceso protegido tampoco es válido. Entonces, para el modificador de acceso solo nos queda la elección pública.
En tercer lugar, una interfaz no tiene ninguna implementación de datos, incluidas las variables de instancia y los métodos. Si hay una razón lógica para insertar métodos implementados o variables de instancia en una interfaz, entonces debe ser una superclase en una jerarquía de herencia y no una interfaz. Considerando este hecho, dado que ningún método puede implementarse en una interfaz, por lo tanto, todos los métodos en la interfaz deben ser abstractos.
Cuarto, la interfaz solo puede incluir constantes como miembros de datos, lo que significa que deben ser finales y, por supuesto, las constantes finales se declaran como estáticas para mantener solo una instancia de ellas. Por lo tanto, static final también es imprescindible para las constantes de interfaz.
En conclusión, aunque el uso de los resúmenes públicos antes de los métodos y el público estático final antes de las constantes de una interfaz es válido, pero dado que no hay otras opciones, se considera redundante y no se usa.