Qué son las variables de instancia en Java

Por sue smith

El lenguaje Java permite a los desarrolladores crear aplicaciones usando modelado orientado a objetos. En una aplicación orientada a objetos, las tareas son llevadas a cabo por un grupo de estos últimos. Dichos objetos tienen un comportamiento y propiedades, los cuales se definen dentro de las declaraciones de clase. Cuando los programadores escriben estas declaraciones, pueden utilizar variables de instancia para modelar elementos de datos que sean accesibles a través de la clase. Cada objeto de una clase tiene su propia copia de las variables de instancia en la declaración de la clase.

Variables de Java

Las variables de Java almacenan valores de datos o referencias a objetos. La siguiente variable de ejemplo almacena un valor de tipo entero primitivo:

int myNum = 5;

El siguiente código de ejemplo muestra cómo crear una variable para almacenar una referencia de objeto, utilizando la clase Integer:

Integer myNumber = new Integer(5);

Esto almacena una referencia de objeto en lugar de un valor de datos como en el primer ejemplo. Cuando Java encuentra este código, se creará un objeto de acuerdo con la declaración de la clase Integer, devolviendo una referencia a la ubicación del nuevo objeto en la memoria. Siguiendo la operación de asignación indicada por el signo igual, el nombre de la variable "myNumber" apunta a esta ubicación.

Clases

Cuando los programadores crean aplicaciones en Java utilizando técnicas orientadas a objetos, crean una o más declaraciones de clase, definiendo los objetos que necesitan para llevar a cabo el conjunto de tareas dentro de la aplicación en su conjunto. En una declaración de clase, los desarrolladores pueden incluir variables y métodos. Dichas variables y métodos existen para cada instancia de la clase creada dentro de la aplicación. El método constructor es particularmente importante, ya que cuando los programas de Java crean un objeto de una clase, el método constructor se ejecuta.

Instancias de objeto

Una vez que una declaración de clase existe dentro de una aplicación de Java, los programadores pueden crear instancias de objetos de la clase. Los programas también pueden crear de forma automática objetos de clases que vienen de forma estándar en el lenguaje, como la clase Integer. El siguiente código de ejemplo muestra cómo crear un objeto de la clase "Helper" en una aplicación con una declaración de clase "Helper":

Helper myHelp = new Helper("Jim");

Esto funcionaría en caso de que el constructor de la clase tomara un parámetro de cadena.

Variables de instancia

Las variables de instancia almacenan los datos para las instancias individuales de una clase. Por ejemplo, en la clase "Helper", la siguiente variable de instancia podría ser declarada:

private String myName;

Esto normalmente aparece antes del método constructor, que puede crear una instancia de la siguiente manera:

public Helper(String helperName) { myName = helperName; }

Es una práctica común asegurar que todas las variables de instancia tengan asignado un valor en el momento en el que método constructor haya terminado de ejecutarse. Las variables de instancia se declaran con visibilidad privada, lo que significa que sus valores sólo pueden cambiarse dentro de la clase.

Acceso

El código externo para la clase a veces puede acceder a las variables de instancia a través de los métodos de clase, como en el siguiente código de ejemplo:

public String getName(){ return myName; }

El código externo puede acceder a la variable llamando a este método en una instancia de la clase, de la siguiente manera:

String theName = myHelp.getName();

Se trata de un método "accesor". Los métodos que proporcionan código externo con la capacidad de modificar los valores de las variables de instancia, los métodos "mutadores", pueden llevar a cabo revisiones para evitar que valores no válidos se utilicen.