Mais conteúdo relacionado Semelhante a POO - 04 - Variávies em Java (20) Mais de Ludimila Monjardim Casagrande (10) POO - 04 - Variávies em Java1. Programação Orientada a Objetos
Variáveis de Instância
e Variáveis Locais
Ciclo de vida das variáveis em Java
Ludimila Monjardim Casagrande
2012
2. Variáveis
Basicamente, o que um programa faz é manipular
dados. Em geral, esses dados são armazenados
em variáveis localizadas na memória RAM do
computador.
Uma variável pode guardar dados de vários tipos:
números, textos, booleanos (verdadeiro ou falso) ou
referências para objetos, por exemplo.
Além disso, toda variável possui um nome que é
utilizado quando a informação dentro da variável
precisa ser manipulada pelo programa.
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 2
3. Declaração de Variáveis
Na linguagem de programação Java, as variáveis
devem ser declaradas para que possam ser
utilizadas.
A declaração de uma variável envolve definir um
nome único (identificador) dentro de um escopo e
um tipo de valor.
As variáveis são acessadas pelos nomes e
armazenam valores compatíveis com o seu tipo.
Exemplo de declaração com inicialização:
int numero = 10;
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 3
4. Declaração de Variáveis
A declaração de uma variável pode ser
realizada em qualquer linha de um bloco.
Não é necessário declarar todas as variáveis no
começo do bloco como acontece em algumas
linguagens de programação.
Não podemos declarar duas variáveis com o
mesmo nome em um único bloco ou escopo
pois ocorrerá um erro de compilação.
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 4
5. Variáveis em Java
O Java suporta variáveis com diferentes ciclos
de vida:
Os atributos (ou variáveis de instância);
As variáveis de método (ou variáveis locais).
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 5
6. Variáveis de Instância
Os atributos (ou variáveis de instância) são
criados quando uma instância da classe (objeto)
é criada e são destruídos quando essa instância
é destruída.
Subordinada às regras de acessibilidade e à
existência de uma referência a um objeto, uma
variável de instância é acessível enquanto o
objeto que a encapsula for acessível.
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 6
7. Variáveis de Método
Variáveis locais podem ser argumentos ou
variáveis declaradas no corpo do método.
Os argumentos são criados na entrada do
método ao qual pertencem.
As demais variáveis locais são criadas no
momento de sua declaração.
Ambos só existem (portanto só podem ser
acessados) no intervalo entre a sua criação e o
término da execução do método.
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 7
8. Exemplo
public class Conta {
private double saldo;
public Conta ( ) {
}
public Conta (double s) { s é uma variável local e
this.saldo = s;
saldo é uma variável de
}
instância
public void creditar (double valor) {
saldo = saldo + valor;
}
public void debitar (double valor) {
saldo = saldo - valor;
} Os construtores normalmente
public double obterSaldo ( ) { inicializam os atributos da
return saldo; classe.
}
}
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 8
9. Variáveis e Inicialização
Como vimos, os atributos são automaticamente
inicializados com um valor default de acordo
com o seu tipo, caso não tenham sido
explicitamente inicializados na sua declaração.
Variáveis de método não são automaticamente
inicializadas e, portanto, seus valores iniciais
devem ser obrigatoriamente definidos de forma
explícita antes de serem utilizadas.
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 9
10. Exemplo de Variáveis de Método
Método 1:
public int errado( ) {
int i;
return i+5; Erro de compilação na linha 3
}
Método 2:
public int certo( ) {
int i = 0; Variáveis locais devem ser inicializadas
return i+5; antes de serem utilizadas
}
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 10
11. Exemplo de Variáveis de Método
public class Principal {
public static void main (String[ ] args) {
Conta c = new Conta( );
int i = 0; Se as variáveis c e i não
while (i < 10) { forem explicitamente
c.creditar(i); inicializadas ocorre erro de
compilação.
i++;
}
System.out.println(c.obterSaldo());
} Obs.: Debugar para observar o
} comportamento.
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 11
12. Alocação de Memória em Java
Revisando o exemplo:
Data hoje = new Data(21, 10, 2006);
hoje ? hoje 0x0123
dia 0 dia 21
mes 0 mes 10
ano 0 ano 2006
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 12
13. Alocação de Memória em Java
Quando um objeto é criado, pela chamada de new
<construtor>, os seguintes passos acontecem:
1. Um espaço de memória é alocado para o objeto
criado e suas variáveis de instância são
inicializadas com seus valores default
2. As inicializações explícitas programadas para as
variáveis de instância são realizadas
3. O construtor chamado é executado
4. O endereço de memória no qual o objeto está
alocado é retornado e atribuído para a variável que
referencia o objeto
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 13
14. Exemplo
Após Data b = a;
public class Teste {
x 8
public static void main(String[] args) { y 7
a 0x0123
int x = 7; 21 10 2006
b 0x0123
int y = x;
x = 8;
Data a = new Data(21, 10, 2006);
Data b = a; Após a = new Data(28, 10,2006);
x 8
a = new Data(28, 10, 2006); 7
y
} a 0x0456 28 10 2006
} b 0x0123
21 10 2006
Quais são os resultados finais?
Variáveis em Java ©2012 Ludimila Monjardim Casagrande 14