A pesar de que esta pregunta se ha formulado hace mucho tiempo, pero creo que una descripción exhaustiva aclararía por qué no es necesario utilizar el resumen público antes de los métodos y el 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 no se puede acceder por otras clases para que se anule.
Segundo, aunque uno puede iniciar objetos de un tipo de interfaz, pero las clases que lo implementan y no heredan una interfaz. Y dado que una interfaz puede 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 una opción pública.
En tercer lugar, una interfaz no tiene ninguna implementación de datos, incluidas las variables y métodos de instancia. 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. Teniendo en cuenta este hecho, dado que no se puede implementar ningún método en una interfaz, todos los métodos en la interfaz deben ser abstractos.
En cuarto lugar, la interfaz solo puede incluir constante como sus 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, la estática final también es imprescindible para las constantes de interfaz.
Por lo tanto, en conclusión, aunque se utiliza el resumen público antes de los métodos y final estático público antes de que las constantes de una interfaz sean válidas, dado que no hay otras opciones, se considera redundante y no se utiliza.
Es malo porque escribirlo como público implica que * puede * no ser público – Pacerier
Debe evitar la sintaxis redundante de cualquier forma. – EJP
Votación para reabrir porque no está "basada en opiniones", el JLS (particularmente [sección 9.4] (http: // docs.oracle.com/javase/specs/jls/se7/html/jls-9.html#jls-9.4)) es claro al respecto. La respuesta correcta y concreta es: está permitido pero desaconsejado. –