Si en lugar de:¿Cuáles son las variables sin público privado o protegido declarado como?
private JButton theButton;
hago:
JButton theButton;
¿Cuál es la diferencia?
Gracias
Si en lugar de:¿Cuáles son las variables sin público privado o protegido declarado como?
private JButton theButton;
hago:
JButton theButton;
¿Cuál es la diferencia?
Gracias
paquete. Son visibles para otras clases en el mismo paquete.
FWIW, suelo usar mi propia anotación no-operativa @Package en estos, solo para dejar en claro que sé lo que estoy haciendo, que no me olvidé de algo. Aunque es el predeterminado, probablemente el acceso al paquete se use menos en código de alta calidad que cualquiera de las otras tres posibilidades, con una gran excepción:
En algunos estilos de pruebas unitarias, es deseable poder acceder a métodos o campos que normalmente son privados Una forma de proporcionar acceso es configurarlos para el acceso al paquete, y poner la clase de prueba de la unidad en el mismo paquete (pero generalmente en un árbol de directorio de "prueba diferente"). Algunos desarrolladores piensan que esto es una mala práctica, que en general es malo usar métodos privados (o paquetes para pruebas) en las pruebas.
En Java existen visados públicos, protegidos, de paquete (por defecto) y privados; ordenado desde el más visible al menos.
Si no lo especifica, de forma predeterminada la visibilidad es paquete.
package mytest.myvisibility;
public class MyClass
{
public int myPublicInt; // visible to all
protected myProtectedInt; // visible to subclasses of MyClass and to other members of the mytest.myvisibility package
int myPackageInt; // visible only to other members of the mytest.myvisibility package
private int myPrivateInt; // visible only to MyClass objects.
}
Esto no es del todo cierto (ver documento proporcionado por Oracle @LukeH arriba). Los artículos protegidos también son visibles en el paquete actual. – Kloe2378231
actualizado - elaborado sobre la visibilidad del "paquete", y hace que el orden de las visibilidades sea consistente en la descripción y en el ejemplo del código. –
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html – LukeH