1.6 Variables
Una variable en
Java es un identificador que representa una palabra de memoria que contiene
información. El tipo de información almacenado en una variable sólo puede ser
del tipo con que se declaró esa variable.
Una variable se declara usando la misma sintaxis de C. Por ejemplo la siguiente tabla indica una declaración, el nombre de la variable introducida y el tipo de información que almacena la variable:
Las variables de
tipos primitivos almacenan directamente un valor que siempre pertenece al rango
de ese tipo. Por ejemplo una variable int almacena un valor entero como 1, 2, 0,
-1, etc.
Esto significa que al asignar una variable entera a otra variable entera, se copia el valor de la primera en el espacio que ocupa la segunda variable.
Las variables de tipo referencia a objetos en cambio almacenan direcciones y no valores directamente. Una referencia a un objeto es la dirección de un área en memoria destinada a representar ese objeto. El área de memoria se solicita con el operador new.
Al asignar una variable de tipo referencia a objeto a otra variable se asigna la dirección y no el objeto referenciado por esa dirección. Esto significa que ambas variables quedan refenciando el mismo objeto.
La diferencia entre ambas asignaciones se observa en la siguiente figura:
Esto tiene
implicancias mayores ya que si se modifica el objeto referenciado por r,
entonces también se modifica el objeto referenciado por s, puesto que son el
mismo objeto.
En Java una variable no puede almacenar directamente un objeto, como ocurre en C y C++.
Por lo tanto cuando se dice en Java que una variable es un string, lo que se quiere decir en realidad es que la variable es una referencia a un string.
Una variable se declara usando la misma sintaxis de C. Por ejemplo la siguiente tabla indica una declaración, el nombre de la variable introducida y el tipo de información que almacena la variable:
Java posee dos grandes categorías de tipos
para las variables:
Esto significa que al asignar una variable entera a otra variable entera, se copia el valor de la primera en el espacio que ocupa la segunda variable.
Las variables de tipo referencia a objetos en cambio almacenan direcciones y no valores directamente. Una referencia a un objeto es la dirección de un área en memoria destinada a representar ese objeto. El área de memoria se solicita con el operador new.
Al asignar una variable de tipo referencia a objeto a otra variable se asigna la dirección y no el objeto referenciado por esa dirección. Esto significa que ambas variables quedan refenciando el mismo objeto.
La diferencia entre ambas asignaciones se observa en la siguiente figura:
En Java una variable no puede almacenar directamente un objeto, como ocurre en C y C++.
Por lo tanto cuando se dice en Java que una variable es un string, lo que se quiere decir en realidad es que la variable es una referencia a un string.
0 comentarios: