Cita:
Iniciado por stock en java, todos los objtos son pasados por referencia, por lo tanto, si quieres pasarle un objeto por valor, forzosamente tienes que hacer un obj.clone()
have funnnnnnn
Todo lo contrario.
En java todos los objetos se pasan por valor. Una cosa es que los objetos se pasen por valor y otra que se puedan modificar las propiedades del objeto cuando se pasa como arguemento a algún método. Lo que no puede modificarse es la referencia de ese objeto. No se puede hacer que apunte a un nuevo objeto dentro del método, pq al terminar el método volveria a apuntar al mismo objeto.
Es algo que la gran mayoria de la gente confunde, y no se por qué.
Si lo que se quiere es no poder cambiar las propiedades del objeto que se usa para llamar al método, entonces si, se debe utilizar el método clone.
Saludos