Warum kann man nicht ein Objekt mit dem Konstruktor der Oberklasse initialisieren (Java)?

4 Antworten

Der Grund ist: Die Oberklasse kennt ihre Unterklassen nicht (und soll sie ja auch gar nicht kennen).

keine direkte antwort aber...

nicht jedes tier ist ein hund aber jedes hund ist ein tier

ums weiter auszuführen:

nur weil eine katze ein tier ist, kannst du nicht erwarten dass jede katze bellt (jedes tier != hund)

Vermutlich, weil die erbende Klasse mehr Informationen enthält, die vom Compiler erwartet werden.

Eine Elternklasse kann, muss jedoch nicht diese Informationen liefern.

Andersrum wird es funktionieren, weil eine Kindklasse von den Eltern erbt


KathaHohenfels 
Beitragsersteller
 24.04.2022, 18:38

Ah, also generell ist es immer so, dass die Unterklasse mehr Infos enthält als die Oberklasse? Ja, klingt logisch... danke!

0
xxxcyberxxx  24.04.2022, 18:44
@KathaHohenfels

Die Kindklasse erbt die Funktionen und Attribute der Elternklasse. Die enthält also mindestens die Informationen der Elternklasse, kann aber beliebig viele zusätzliche Informationen enthalten

1

nur mal zur logik , du willst das inner mit dem äusseren darstellne .

also du willst vom inneren des universums von aussen auf das universum gucken ... merkste was .