Java | Clase y Objeto | Pregunta 6

Prediga la salida del siguiente programa.

class Test
{
    int a = 1;
    int b = 2;
  
    Test func(Test obj)
    {
        Test obj3 = new Test();
        obj3 = obj;
        obj3.a = obj.a++ + ++obj.b;
        obj.b = obj.b;
        return obj3;
    }
  
    public static void main(String[] args)
    {
        Test obj1 = new Test();
        Test obj2 = obj1.func(obj1);
  
        System.out.println("obj1.a = " + obj1.a + "  obj1.b = " + obj1.b);
        System.out.println("obj2.a = " + obj2.a + "  obj1.b = " + obj2.b);
  
    }
}

(A)

obj1.a = 1  obj1.b = 2
obj2.a = 4  obj2.b = 3

(B)

obj1.a = 4  obj1.b = 3
obj2.a = 4  obj2.b = 3

(C) Error de compilación

Respuesta: (B)
Explicación:
obj1 y obj2 se refieren a la misma dirección de memoria.
Cuestionario de esta pregunta
Comente a continuación si encuentra algo incorrecto en la publicación anterior

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *