Fazer dois objetos apontarem para a mesma referência

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:

public class Repositorio{
    private static Objeto obj;

    public static void setObjeto(Objeto o){
            this.obj = o;
    }

    public static Objeto getObjeto(){
           return this.obj;
    }
}

/// código da Classe1:

public class Objeto{

     public Objeto(){
          // 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.

cara, nao consegui entender o que voce quer.

consegue explicar melhor???

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:

Object objNovo = new Object(); Object obj1 = objNovo; Object obj2 = objNovo;

Vamos lá, vou ver se consigo explicar melhor…

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…

eh so voce fazer a um metodo static que muda o atributo da sua classe, assim vai afetar todas as outras instancias dela.

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… :confused:

mais se voce quer q todos fiquem com a mesma referencia a consequencia é que todos terao o mesmo valor.

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…

Acho que estás a complicar…

Se eu entendi o que tu queres é isto:


Object a = new Object();
Object b = new Object();

List list = new ArraList();

list.add(a);
list.add(b):

list.get(0).setProperty("xxx");

a.getProperty() // Obter xxx

É isto? Se é isto não precisas de fazer nada… O primeiro objecto da lista e a são o mesmo objecto.

AhUAHUAhaUUhauAh eu sei cara …

acho que vou desistir do tópico ngm conseguiu entender oq eu quero… ou eu não consegui explicar…

Mas valeu pela atenção ai pessoal…