El problema que muestra el código, es que cualquiera que sea el código si contiene una instancia de la clase SuperClass, ésta ejecutará el método que se define en esa clase, independientemente de a que objeto apunte esa referencia.