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