Question
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;
}
}
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;
}
}
Answer: Option C
Was this answer helpful ?
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.
Was this answer helpful ?
More Questions on This Topic :
Question 10.
What is the output of this program?
class Outp....
Submit Solution