Consider the following class declarations.

public class ParentClass
{
public void wheelsOnTheBus()
{
System.out.println("round and round");
}
}

public class SubClass extends ParentClass
{
public void wheelsOnTheBus()
{
System.out.println("are flat");
}
}

public class SubSubClass extends ParentClass
{
public void wheelsOnTheBus()
{
// No methods defined
}
}
The following code segment appears in a method in another class.
obj.wheelsOnTheBus();

Under which of the following conditions will the code segment print "are flat" ?

I. when obj has been declared as type ParentClass
II. when obj has been declared as type SubClass
III. when obj has been declared as type SubSubClass

A. I only
B. II only
C. I and II only
D. II and III only
E. I, II, and III