Hallo, gegeben sei folgendes Coding:
Meine Frage:
Ich habe den Code in Java so eingegeben und kann die Ausgabe nicht nachvollziehen:
Fahrzeug erzeugt
Auto erzeugt
Auto fährt
Müsste dem Code nach nicht eigentlich nur "Auto fährt" ausgegeben werden? Es wird doch
in der Test Klasse nur fg.fahre aufgerufen und sonst nichts anderes?
Java:
class Fahrzeug {
public Fahrzeug() {
IO.writeln("Fahrzeug erzeugt");
}
public void fahre() {
IO.writeln("Auto fährt");
}
}
class Auto extends Fahrzeug {
public Auto() {
IO.writeln("Auto erzeugt");
}
public void fahre() {
IO.writeln("Auto fährt");
}
}
class Test {
public static void testen(Fahrzeug fg) {
fg.fahre();
}
public static void main(String[] args) {
Fahrzeug f = new Auto();
testen(f);
f = null;
}
}
Ich habe den Code in Java so eingegeben und kann die Ausgabe nicht nachvollziehen:
Fahrzeug erzeugt
Auto erzeugt
Auto fährt
Müsste dem Code nach nicht eigentlich nur "Auto fährt" ausgegeben werden? Es wird doch
in der Test Klasse nur fg.fahre aufgerufen und sonst nichts anderes?
Zuletzt bearbeitet von einem Moderator: