Variavel ou ponteiro?

5 respostas Resolvido
F

Ao instanciar um objeto, exemplo:
Calculadora calc = new Calculadora();
Podemos dizer que calc é uma variavel ou o correto seria dizer que é um ponteiro já que armazena um endereço de memoria

5 Respostas

Fefo80

É um objeto.

wldomiciano
Solucao aceita

Em Java não existe o conceito de ponteiros como conhecemos de outras linguagens como C ou C++. O que nós temos é o conceito de referência.

No seu exemplo, calc é uma variável e ela pode ser uma…

  • variável de classe
  • variável de instância
  • variável local

… dependendo do contexto em que vc a declarou.

Agora sobre o que a variável calc contém, podemos dizer que é um objeto como o @Fefo80 comentou ou, mais precisamente, uma referência à um objeto ou ainda, uma referência à uma instância da classe Calculadora.

Vc deve deixar de lado essa noção de “endereço de memória” quando trabalha com Java. A variável calc não armazena o endereço real, mas sim uma referência àquela instância. Como essa referência é gerenciada é com a JVM.

Lucas_Camara

Isso lembra aquela antiga discussão sobre:

Em java, os parâmetros são passados por valor ou por referência?

wldomiciano

Sabe dizer como anda esta discussão? É porque é muito estranho, pois na linguagem Java a passagem é sempre por valor e não existe ainda o conceito de “passagem por referência” como existe em linguagens como C++, C#, PHP, etc.

Lucas_Camara

Ah, eh coisa antiga, hoje, quase não vejo mais pessoal discutindo isso. A confusão (inclusive que eu tinha) era qdo um objeto era passado como parâmetro. Mas hoje entendo que eh tudo por valor também.

Criado 11 de agosto de 2021
Ultima resposta 11 de ago. de 2021
Respostas 5
Participantes 4