Já repeti varias vezes e mesmo assim não consegui compreender.
Já repeti varias vezes e mesmo assim não consegui compreender.
Oi Yan, tudo bem com você?
Temos um capítulo em nossa apostila que explica bem essa parte de objetos sendo acessados por referências. O material utilizado na apostila é bem similar ao dado em aula, então talvez isso ajude a pegar alguns conceitos lendo com mais calma.
Mas fala aí o que exatamente ainda não está fazendo sentido para você que nós iremos te ajudar! :D
Ficamos no aguardo!
Bons estudos!!
Yan Barbosa, da maneira mais simples de explicar é: a referencia é quando vc já tem um Objeto( quando fez TesteObejto obj = new TesteObejto() ) e vc o guarda em outra variavel do mesmo tipo, Ex: TesteObejto umNovoObjeto = obj; Agora vc possui 2 referencias para aquele objeto (TesteObejto() ), ou seja, qualquer ação que vc fizer usando o obj ou umNovoObjeto da no mesmo, pois vc está mexendo na referencia daquela classe.
Pense que um Objeto é uma classe que foi instanciada e guardada em uma variável.
Espero que tenha ajudado.
Obrigado
Galera seria meio que uma herança essas referencias? o que não consigo entender é como um objeto vai ter varias referencias.
Yan, mais ou menos isso. Toda vez que vc der NEW em alguma classe a referencia("endereço de memória") é mudada mesmo sendo a mesma classe. Ex: Loja aa = new Loja(); aqui teria algo assim como referencia 3df5j6"
Loja mesmaReferencia = aa; continua a mesma referencia pois nao instanciei a classe loja
Loja novaReferencia = new Loja(); Aqui sim a referencia muda, pois foi instanciado( dado um NEW) na Classe Loja;
Se vc imprimir as variaveis no console com system.out.println vai conseguir ver a diferença desses endereços
Yan, fiz isso.
package aulasJava;
public class Referencia {
public static void main(String[] args) {
Referencia primeiraReferencia = new Referencia();
Referencia mesmaReferencia = primeiraReferencia;
Referencia nova = new Referencia();
System.out.println("Primeira Referencia: " + primeiraReferencia);
System.out.println("Mesma Referencia: " + mesmaReferencia);
System.out.println("Nova: " + nova);
}
}
A Saída foi essa:
Primeira Referencia: aulasJava.Referencia@6d06d69c
Mesma Referencia: aulasJava.Referencia@6d06d69c
Nova: aulasJava.Referencia@7852e922