Java no le permite hacer que el modificador de acceso sea más restrictivo, porque eso violaría la regla de que una instancia de subclase debería ser utilizable en lugar de una instancia de superclase. Pero cuando se trata de hacer el acceso menos restrictivo ... bueno, tal vez la superclase fue escrita por una persona diferente, y no anticiparon la forma en que desea usar su clase.
Los programas de la gente escribe y las situaciones que surgen en la programación son tan variados, que es mejor para los diseñadores del lenguaje no "adivinar" lo que los programadores podrían querer que ver con su lengua. Si no hay una buena razón para que un programador debe no ser capaz de hacer especificadores de acceso menos restrictivo en una subclase (por ejemplo), entonces es mejor dejar que la decisión para el programador. Ellos conocen los detalles de su situación individual, pero el diseñador del lenguaje no. Así que creo que esta fue una buena llamada de los diseñadores de Java.
posible duplicado de [modificadores de acceso de Java y los métodos primordiales] (http://stackoverflow.com/questions/6851612/java-access-modifiers-and-overriding-methods) –