What happens when you compile and run the following code?

class Base
{
    public void method(final Object o) {System.out.println("Base.method");}
}

public class X extends Base
{
    public void method(final String o) {System.out.println("X.method");}
    
    public static void main(final String []argv)
    {
        final Object string = "a string";
        new X().method(string);
    }
}

A) Compilation error.
B) Output "Base.method"
C) Output "X.amethod"
D) No output.
E) Exception: "NoSuchMethodError: main"