Home / Java Programming / Objects and Collections :: Discussion

Discussion :: Objects and Collections

  1. What will be the output of the program?

     public class Test 
     {   
        private static int[] x;  
        public static void main(String[] args)   
        {          
           System.out.println(x[0]);   
       }  
    } 
    

  2. A.

    B.

    null

    C.

    Compile Error

    D.

    NullPointerException at runtime

    View Answer

    Workspace

    Answer : Option D

    Explanation :

    In the above code the array reference variable x has been declared but it has not been instantiated i.e. the new statement is missing, for example:

    private static int[]x = new int[5];

    private static int[x] declares a static i.e. class level array.

    the "new" keyword is the word that actually creates said array.

    int[5] in association with the new sets the size of the array. so since the above code contains no new or size decalarations when you try and access x[0] you are trying to access a member of an array that has been declared but not intialized hence you get a NullPointerException at runtime.


Be The First To Comment