kurze Frage zur Vererbung

Diskutiere kurze Frage zur Vererbung im Hausaufgaben Bereich.
S

Sabrina-Berlin

Hi,

ich bin neu hier im Forum und habe eine Frage zu Java. Ich muss die Frage richtig beantworten, damit ich den nächsten Block bearbeiten kann. Jedoch verstehe ich die Frage ich nicht so richtig verstehe. Ich hoffe ihr könnt mir weiterhelfen. Es ist eine Multiple Choice
Hier ist die Frage:

In einer Subklasse wurde eine Methode der Superklasse überschrieben. Nun erzeugt man ein Objekt der Subklasse und speichert dies in einer Objektvariable vom Typ der Superklasse (Hinweis: Polymorphie). Was passiert, wenn man versucht, diese Methode aufzurufen?

a) Es wird die Methode der Subklasse aufgerufen
b) Es kommt ein Fehler, da Objektvariablen der Superklasse keine Objekte von Subklassen aufnehmen können
c) Es wird die Methode der Superklasse aufgerufen
d) Es kommt ein Fehler, da man zuerst casten muss, um die überschriebene Methode der Subklasse aufzurufen

Ich danke euch vielmals im Voraus.
 
J

JustNobody

Also Die Frage besagt (übersetzt in Java):

Du hast die Klasse Subklasse:
Java:
public class Subklasse extends Superklasse {
    @Override
    public void eineMethode() {
        System.out.println("Subklasse::eineMethode()");
    }
}
Und die Klasse Superklasse:
Java:
public class Superklasse {
    public void eineMethode() {
        System.out.println("Superklasse::eineMethode()");
    }
}
Gegeben Sei der Code:
Java:
Superklasse variable = new Subklasse();
variable.eineMethode();
Was wird ausgegeben:
a) Subklasse::eineMethode()
b) Compilefehler, weil die Zuweisung nicht erlaubt ist
c) Superklasse::eineMethode()
d) Compilefehler, weil ein cast benötigt wird
 
S

Sabrina-Berlin

Also Die Frage besagt (übersetzt in Java):

Du hast die Klasse Subklasse:
Java:
public class Subklasse extends Superklasse {
    @Override
    public void eineMethode() {
        System.out.println("Subklasse::eineMethode()");
    }
}
Und die Klasse Superklasse:
Java:
public class Superklasse {
    public void eineMethode() {
        System.out.println("Superklasse::eineMethode()");
    }
}
Gegeben Sei der Code:
Java:
Superklasse variable = new Subklasse();
variable.eineMethode();
Was wird ausgegeben:
a) Subklasse::eineMethode()
b) Compilefehler, weil die Zuweisung nicht erlaubt ist
c) Superklasse::eineMethode()
d) Compilefehler, weil ein cast benötigt wird
Cool, danke. Jetzt habe ich verstanden, wieso es die Subklasse sein muss. Danke an alle
 
Thema: 

kurze Frage zur Vererbung

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben