Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Asignación de objetos.

Buenas tardes Entonces, entre los objetos, al igualar uno con otro (Cuenta otraCuenta = miCuenta;) no se crea una copia independiente del primer objeto (miCuenta) sino que es un mismo objeto con dos nombre distintos. Esto mismo no pasa con las variables, ya que al igualar una variable con otra (double saldo = reintegro) la segunda variable es independiente de la primera (reintegro). Ya que al modificar el valor de saldo no se modificaría el valor propio de reintegro. ¿Estoy correcto?

2 respuestas
solución!

Hola Hugo, espero que estés bien.

Una variable de referencia es un puntero a la dirección de memoria, en el que se encuentra el objeto. Al asignar una variable de referencia

a otra, estamos copiando la referencia, o sea, haciendo que las dos variables apunten al mismo objeto, y no creando un nuevo objeto.

Definición de la clase:

public class Cuenta {
    double saldo;
}
public class Test {

    public static void main(String[] args) {

        Cuenta miCuenta = new Cuenta();
        Cuenta otraCuenta = miCuenta; // ahora otraCuenta apunta al mismo objeto demiCuenta
        otraCuenta.saldo = 1000.0;

        System.out.println(miCuenta.saldo); //imprime 1000.0
    }
}

Dos referencias se consideran iguales solo si están apuntando al mismo objeto. Igual que los objetos que apuntan al mismo objeto

apunten sean iguales, todavía son referencias a objetos diferentes:

Cuenta miCuenta = new Cuenta();
miCuenta.saldo = 1000.0;

Cuenta otraCuenta = miCuenta;
otraCuenta.saldo = 1000.0;

Object x = miCuenta;

System.out.println(miCuenta == otraCuenta); //false
System.out.println(miCuenta == x);     //true

Si aún tienes dudas, estoy aquí para ayudarte.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios.

Muchas gracias Adriana.