What will happen when you compile and run the following program?

abstract class Base 
{
    abstract void amethod();
    static int i;
}

public class X extends Base 
{
    public static void main(String[] args)
    {
        int[] a = new int[i];
        System.out.println(a.toString());
    }
}

A) Error: "Class 'X' must be declared abstract."
B) Error: "Variable 'i' used before initialized."
C) Error: "Illegal to inherit from abstract class. Use 'implements'."
D) Error: "'toString()', no such method."
E) Output: 0
F) Output: null