Si escribo:¿Cuál es el alcance predeterminado de un método en Java?
void doThis(){
System.out.println("Hello Stackoverflow.");
}
lo que es el ámbito predeterminado de doThis()
?
Público? ¿Protegido? ¿Privado?
Si escribo:¿Cuál es el alcance predeterminado de un método en Java?
void doThis(){
System.out.println("Hello Stackoverflow.");
}
lo que es el ámbito predeterminado de doThis()
?
Público? ¿Protegido? ¿Privado?
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
El alcance predeterminado es "predeterminado". Es extraño - ver thesereferences para más información.
En realidad no lo es: es paquete privado –
THanks Maurice, He actualizado mi respuesta. –
No puedo eliminar mi respuesta, ya que ha sido aceptada. Animo a Joe a que vaya con la respuesta de @ Esko. –
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 ...
Gracias por ser el único que reconoce una fuente confiable. –
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.
+1 para obtener información adicional acerca de los miembros de una interfaz. – Wazza
Si no le está dando ningún modificador a su método, entonces por defecto será el modificador predeterminado que tiene alcance dentro del paquete.
para obtener más información puede consultar http://wiki.answers.com/Q/What_is_default_access_specifier_in_Java
Java 8 ahora permite la implementación de métodos dentro de una interfaz propia con predeterminado alcance (y estática solamente).
respuesta mucho mejor - @ joe - ve con este, no el mío. –
"El paquete predeterminado es más estricto que ..." – reinaldoluckman
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. –