Hallo zusammen,
angenommen ich habe eine Klasse Tier und einer Klasse Katze extends Tier. In der Klasse Tier gibt es nur einen Konstruktor und in der Klasse Katze neben einem Konstruktor noch die Methode miau(). Wenn ich folgenden Code aufrufe, gibt es einen Fehler:
Tier t1 = new Katze();
t1.miau();
Es heißt, dass Tier über keine Methode miau() verfügt. Das stimmt. Aber t1 habe ich doch mit new Katze() als Instanz vom Typ Katze bestimmt, dann müsste t1 doch eine Katze sein und somit auch über die Methode miau() verfügen, oder? Kann ich also immer nur auf Methoden, die nur die Subklasse hat, aber nicht die Superklasse, zugreifen, wenn das Objekt mit Subklasse objekt = new Subklasse(); erzeugt wurde und nie mit Superklasse objekt = new SUbklasse();? Ist das mit Variablen dasselbe? VIELEN DANK!
angenommen ich habe eine Klasse Tier und einer Klasse Katze extends Tier. In der Klasse Tier gibt es nur einen Konstruktor und in der Klasse Katze neben einem Konstruktor noch die Methode miau(). Wenn ich folgenden Code aufrufe, gibt es einen Fehler:
Tier t1 = new Katze();
t1.miau();
Es heißt, dass Tier über keine Methode miau() verfügt. Das stimmt. Aber t1 habe ich doch mit new Katze() als Instanz vom Typ Katze bestimmt, dann müsste t1 doch eine Katze sein und somit auch über die Methode miau() verfügen, oder? Kann ich also immer nur auf Methoden, die nur die Subklasse hat, aber nicht die Superklasse, zugreifen, wenn das Objekt mit Subklasse objekt = new Subklasse(); erzeugt wurde und nie mit Superklasse objekt = new SUbklasse();? Ist das mit Variablen dasselbe? VIELEN DANK!