Home / Java Programming / Operators and Assignments :: Discussion

Discussion :: Operators and Assignments

  1. 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; 
      } 
    } 
    

  2. A.

    null null 42

    B.

    0 0 42

    C.

    0 42 42

    D.

    0 0 0

    View Answer

    Workspace

    Answer : Option C

    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.


Be The First To Comment