Ajuda com declaração do tipo "final"

4 respostas
D

1ª alguém sabe me explicar porque na linha 05 a variável tem que ser final assim ela fica visível na linha 14.

2ª se e final porque ela muda o valor veja a saída

Antes do Service()…: dm
Utilizado o valor em service!!!
Após do Service()…: DM - editado

4 Respostas

D

alguém?

K

é esse seu código?
não ajudou muito…

D


é esse seu código?
não ajudou muito…

Obrigado pela atenção dispensada, mais acabei achando um tópico que respondeu minha duvida.

ViniGodoy

Só um detalhe. Uma variável de referência final não pode mudar o objeto para o qual aponta. Entretanto, pode-se mudar os valores desse objeto normalmente.

Por exemplo:
public class Funcionario {
    private String nome;

    public String getNome() { return this.nome; }
    public void setNome(String nome) { this.nome = nome; }
}
Suponha que vc tem:
private final Funcionario f = new Funcionario();
Você pode fazer:
//Ok, está alterando um valor do objeto apontado por f.
f.setNome("Vinicius");
Mas não pode:
f = new Funcionario();
ou
f = null;

Não pode, está tentando alterar o local onde f aponta.

Criado 18 de fevereiro de 2013
Ultima resposta 18 de fev. de 2013
Respostas 4
Participantes 3