Encapsulamiento de Clases

Ejemplo:
Punto p= new Punto(10,10);
p.x= 5;


Control de accesibilidad a variables y métodos fuera de una clase:

Por medio de los atributos private, protected y public.

public class Punto {
  private x, y;
  ...
}

...
// En Uso.java
Punto p= new Punto(10,10);
p.x= 5;
Variable x in class Punto not accessible from class Uso.


El control de accesibilidad de variables y métodos sólo es útil en proyectos de mediana y gran envergadura. Para proyectos pequeños siempre use public.


Control de accesibilidad de una clase:

public class Punto {
 ...
}
La clase es visible en cualquier otra parte.

class Punto {
 ...
}
La clase es visible sólo dentro del paquete.


Cuidado!


Paquetes

Al comienzo de un archivo se puede especificar a qué paquete pertenecen las clases incluidas dentro de ese archivo:

package aplicacion;

... definiciones de clases ...
Los paquetes son útiles para estructurar proyectos de gran envergadura.


Es recomendable no embarcarse en grandes proyectos cuando se está aprendiendo un nuevo lenguaje. Por lo tanto Ud. tomará algún tiempo en necesitar paquetes.

Mientras tanto, ¡no estructure sus clases en paquetes porque son frágiles de usar!

Antes de usar paquetes asegúrese de entender bien el documento Paquetes de clases que se encuentra en:

http://www.dcc.uchile.cl/~lmateu/Java/Transparencias/Compl/paquetes.htm.