Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

[Duda] Resultados

en este caso, con el código siguiente, el resultado seria en la segundacuenta al imprimir seria 50 aunque se haya puesto al inicio en 300, verdad

public class CreaCuenta {

public static void main(String[] args) {

    Cuenta primeraCuenta = new Cuenta();
    primeraCuenta.saldo = 200;
    System.out.println(primeraCuenta.saldo);

    primeraCuenta.saldo += 100;
    System.out.println(primeraCuenta.saldo);

    Cuenta segundaCuenta = primeraCuenta;
    segundaCuenta.saldo = 50;

    System.out.println("primera cuenta tiene " + primeraCuenta.saldo);
    System.out.println("segunda cuenta tiene " + segundaCuenta.saldo);

}

}

4 respuestas

Hola claudia! Como estas?. Si asi es, segundaCuenta quedaria con un saldo de 50. Ya que al poner segundaCuenta.Saldo = 50, le estas asignando un nuevo valor. Es decir que estas "pisando" el valor anterior de dicha cuenta (300). Saludos!

Hola Claudia, si es correcto

Al declarar el segundo objeto de esta manera: "Cuenta segundacuenta = primeraCuenta;" se indica que segundaCuenta apunta a primeraCuenta. por lo tanto, cualquier cambio en los atributos de un objeto, afecta también a los atributos del otro.

Si, la explicacion es que el codigo se ejecuta de arriba hacia abajo y los valores asignados en una linea pueden ser alterados por nuevas asignaciones en lineas posteriores asi que es importante hacer un seguimiento de todas las asignaciones u operaciones en las que interviene la misma variable.