Elemento 14 de Java efectivo: no puede cambiar la representación sin cambiar la API

Esto está tomado de Effective Java por Joshua Bloch-

Ítem 14 (o Ítem 16 en la Tercera Edición): en clases públicas, use métodos de acceso, no campos públicos

// ¡Las clases degeneradas como esta no deberían ser públicas!

class Point {
  public double x;
  public double y;
}

Debido a que se accede directamente a los campos de datos de tales clases, estas clases no ofrecen los beneficios de la encapsulación (Elemento 13).

No puede cambiar la representación sin cambiar la API

¿Qué quiere decir el autor con la última oración? Esta declaración se usa muchas veces en el mismo elemento. Por favor recomiende.

El término API o API exportado debe interpretarse como lo sugiere el autor en el libro.

Una API exportada consta de los elementos de la API a los que se puede acceder fuera del paquete que define la API.

Respuestas a la pregunta(6)

Su respuesta a la pregunta