Fazer dois objetos apontarem para a mesma referência
9 respostas
D
djeffersonx
Boa dia.
Eu gostaria de saber como fazer para espelhar dois objetos, ou apontarem para a mesma referência.
Vou explicar melhor o meu caso, eu tenho uma classe chamada Repositório, onde eu mantenho alguns objetos que são capturados no método construtor de algumas classes.
Ex:
// Código do repositório:publicclassRepositorio{privatestaticObjetoobj;publicstaticvoidsetObjeto(Objetoo){this.obj=o;}publicstaticObjetogetObjeto(){returnthis.obj;}}/// código da Classe1:publicclassObjeto{publicObjeto(){// No contrutor eu coloco o Objeto no repositório...Repositorio.setObjeto(this);}}
Eu gostaria que quando eu fizesse: Repositorio.getClasse1().qualquerOperacaoo(); ele refletisse no " real " objeto. e vice versa.
Está realmente confusa a sua explicação, mas vamos tentar resolver seu problema.
Se você declarar o objeto como “static” na classe, a classe terá somente uma cópia deste objeto. Talvez isso ajude.
Mas você pode atribuir a referencia do objeto a outro objeto:
Tenho duas Classes, UMA É um repositório de Objetos, onde eu mantenho alguns objetos que são capturados no construtor de algumas classes…
Vamos imaginas q eu tenho um List na classe repositório, onde a cada instância da classeExemplo eu adiciono nessa lista na classe repositório, mas ao capturar algum objeto na minha lista ( que esta na classe repositório ) e alterar qqr valor desse objeto não reflete no Objeto Original que foi capturado no contrutor da classe.
E eu gostaria que refletisse…
Eu vi algo sobre a interface Clonable e o método clone(), mas pelo que vi ele copia os valores dos campos, e não espelha o Objeto para que ao alterar o valor em um ele fazer o mesmo em outro…
mauricioadl
eh so voce fazer a um metodo static que muda o atributo da sua classe, assim vai afetar todas as outras instancias dela.
D
djeffersonx
Se eu definir o método como static, vou ter que definir o atributo tb, e isso não vai ser viável pois eu vou ter vários objetos com valores diferentes…
mauricioadl
mais se voce quer q todos fiquem com a mesma referencia a consequencia é que todos terao o mesmo valor.
D
djeffersonx
Seguinto o exemplo que eu dei acima, a classeExemplo vai ter várias instâncias … e cada uma com seus valores, o o meu repositório vai ter uma lista que vai guardar cada uma das instâncias criadas, e ao alterar um item da lista quero que ele altere o original…