Q52
Determine output: public class Test public static void main(String args[]) MyClass obj = new MyClass(); obj.val = 1; obj.call(obj); System.out.println(obj.val); class MyClass public int val; public void call(MyClass ref) ref.val++;
A.
1
B.
2
AnswerC.
3
D.
Compilation Error
E.
None of these
Answer: Option B
Solution
Answer: Option B
Solution:
Step-by-step breakdown:
1. The main method in the Test class creates an instance of MyClass called obj.
2. The val field of obj is set to 1 with obj.val = 1.
3. The call method is invoked on obj with obj itself as the argument: obj.call(obj).
4. Inside the call method, the val field of the passed MyClass instance (ref) is incremented by 1 using ref.val++. Since ref refers to obj, this increments obj.val from 1 to 2.
5. Finally, System.out.println(obj.val) prints the value of obj.val, which is now 2.
Therefore, the output of the program is 2.