You are given a class hierarchy.
class A {
public void print() {
System.out.println("A");
}
}
class B extends A {
@Override
public void print() {
System.out.println("B");
}
}
class C extends B { }
class D extends C {
@Override
public void print() {
System.out.println("D");
}
}
What does the following code print?
C c = new C();
c.print();