# kurze Frage zur Vererbung



## Sabrina-Berlin (10. Jan 2020)

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.


----------



## httpdigest (10. Jan 2020)

a)


----------



## Sabrina-Berlin (10. Jan 2020)

httpdigest hat gesagt.:


> a)


Vielen Dank. Kannst du nochmal erklären, wieso a) richtig ist und nicht c)


----------



## kneitzel (10. Jan 2020)

Also Die Frage besagt (übersetzt in Java):

Du hast die Klasse Subklasse:

```
public class Subklasse extends Superklasse {
    @Override
    public void eineMethode() {
        System.out.println("Subklasse::eineMethode()");
    }
}
```
Und die Klasse Superklasse:

```
public class Superklasse {
    public void eineMethode() {
        System.out.println("Superklasse::eineMethode()");
    }
}
```

Gegeben Sei der Code:

```
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


----------



## Sabrina-Berlin (10. Jan 2020)

JustNobody hat gesagt.:


> Also Die Frage besagt (übersetzt in Java):
> 
> Du hast die Klasse Subklasse:
> 
> ...


Cool, danke. Jetzt habe ich verstanden, wieso es die Subklasse sein muss. Danke an alle


----------

