A simple Java diagram that demonstrates: - Interface inheritance - Abstract method implementation - Method overriding - Runtime polymorphism SubChild can be treated as IParent, IMiddle, IChild, or ...