I am confused again. I am not modifying the parent class if I instantiate a new B or C class ? C c = new C ("Peter"); (Why would I want to pass that name to the Parent or Base (super) class ? What on earth is achieved by doing that ?) Thanks for your attention ;)