Ya he conseguido completar el ejercicio pero no es el resultado que yo esperaba.
    
Código java:
Ver original- public class ClaseCadena { 
-      
-         this.cadena=cadena; 
-     } 
-         return cadena; 
-     } 
-     public void-  ponCadena (String-  cadena ){
 
-         this.cadena=cadena; 
-     } 
- } 
Código java:
Ver original- public class IgualReferencia { 
-     public static void-  main (String-  args []){
 
-         ClaseCadena uno, dos; 
-         uno=new ClaseCadena ("Javier"); 
-         dos=new ClaseCadena ("Moldes"); 
-          
-         System- . out- . print("El objeto uno contiene: ");
 
-         System- . out- . println(-  uno. dameCadena()+"\n");
 
-         System- . out- . print("El objeto dos contiene: ");
 
-         System- . out- . println(-  dos. dameCadena()+"\n");
 
-          
-         //Se asigna la referencia de uno a dos 
-          
-         dos=uno; 
-         uno.ponCadena("Olaya"); 
-         System- . out- . print("El objeto uno contiene: ");
 
-         System- . out- . println(-  uno. dameCadena()+"\n");
 
-         System- . out- . print("El objeto dos contiene: ");
 
-         System- . out- . println(-  dos. dameCadena()+"\n");
 
-              
-     } 
Yo pensaba que en la línea 16 lo que dos recibía era el contenido de la variable uno el cual pensaba que era Javier por la declaración en la línea 6. 
¿Podríais explicarme mejor este concepto para ya poner como solucionado el tema? Gracias.