Multiple choice

What will be the output of the program? class Two { byte x; }

class PassO { public static void main(String [] args) { PassO p = new PassO(); p.start(); }

void start() { Two t = new Two(); System.out.print(t.x + " "); Two t2 = fix(t); System.out.println(t.x + " " + t2.x); }

Two fix(Two tt) { tt.x = 42; return tt; } }

  1. null null 42

  2. 0 0 42

  3. 0 42 42

  4. 0 0 0

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

In the fix() method, the reference variable tt refers to the same object (class Two) as the t reference variable. Updating tt.x in the fix() method updates t.x (they are one in the same object). Remember also that the instance variable x in the Two class is initialized to 0.