2009-04-03 24 views

Respuesta

226

El alcance predeterminado es paquete-privado. Todas las clases en el mismo paquete pueden acceder al método/campo/clase. Package-private es más estricto que los ámbitos protegidos y públicos, pero más permisivo que el ámbito privado.

Más información:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html

+2

respuesta mucho mejor - @ joe - ve con este, no el mío. –

+2

"El paquete predeterminado es más estricto que ..." – reinaldoluckman

+6

También puede valer la pena mencionar que "paquete privado" es un buen ámbito para usar al exponer métodos para pruebas de unidades externas. –

4

El alcance predeterminado es "predeterminado". Es extraño - ver thesereferences para más información.

+3

En realidad no lo es: es paquete privado –

+0

THanks Maurice, He actualizado mi respuesta. –

+2

No puedo eliminar mi respuesta, ya que ha sido aceptada. Animo a Joe a que vaya con la respuesta de @ Esko. –

17

Cualquier cosa definida como paquete privado se puede acceder por la propia clase, otras clases dentro del mismo paquete, pero no en el exterior del paquete, y no por subclases .

Ver this page para una útil tabla de modificadores de nivel de acceso ...

+0

Gracias por ser el único que reconoce una fuente confiable. –

7

Sin un modificador de acceso, un miembro de la clase es accesible en todo el paquete en el que se declaró. Puede obtener más información del Java Language Specification, §6.6.

Los miembros de una interfaz siempre son públicamente accesibles, explícitamente declarados o no.

+0

+1 para obtener información adicional acerca de los miembros de una interfaz. – Wazza

0

Java 8 ahora permite la implementación de métodos dentro de una interfaz propia con predeterminado alcance (y estática solamente).

Cuestiones relacionadas