sexta-feira, 18 de fevereiro de 2011

Variáveis de Referência e de Valor

O Java suporta dois tipos de variáveis, elas podem ser: de referência ou de valor.

Variáveis de Valor

As variáveis de valor (primitivas; int, long, etc...), são aquelas que armazenam os dados no exato espaço de memória onde a variável está.

Variáveis de Referência

As variáveis de referência são aquelas que armazenam o endereço de memória onde o dado está armazenado. Ao declarar uma variável do tipo de uma certa classe, na verdade se declara uma variável que referência um objeto daquela classe.

Exemplo

Vamos supor que declaramos as duas variáveis do tipo int e String.

int num = 10;
String nome = "Hello";

Suponha que a Figura 1 represente a memória do computador, com seus endereços de memória, o nome das variáveis e os tipos de dados que ele pode suportar.

Figura 1. Representação da memória.


No espaço de memória (0x1001) da variável num (do tipo int) possui o seu valor atual, no qual é 10. No espaço de memória (0x2002) da variável nome (do tipo String) possui somente o endereço de memória que contém o valor da variável, no qual é 0x3003. Agora se olharmos no endereço de memória 0x3003 podemos encontrar o valor "Hello".

Nenhum comentário:

Postar um comentário