Home / Java Programming / Declarations and Access Control :: Discussion

Discussion :: Declarations and Access Control

  1. What will be the output of the program?

     class A 
     {    
       final public int GetResult(int a, int b) 
     { 
      return 0; 
     }  
    }  
    class B extends A  
    {    
      public int GetResult(int a, int b) {return 1; }  
     }
     public class Test 
     {   
      public static void main(String args[])    
      {        
        B b = new B();      
        System.out.println("x = " + b.GetResult(0, 1));       }       
    }   
    

     

  2. A.

    x = 0

    B.

    x = 1

    C.

    Compilation fails.

    D.

    An exception is thrown at runtime.

    View Answer

    Workspace

    Answer : Option C

    Explanation :

    The code doesn't compile because the method GetResult() in class A is final and so cannot be overridden.


Be The First To Comment