Hier ist die korrekte Antwort:
public static void main ( String[] args ) { Waren spielzeug; Besteuerbar besteuerbar = new Spielwaren ( "Grobot", 1.49, 6 ); spielzeug = (Spielwaren)besteuerbar; spielzeug.anzeigen(); System.out.println( "Steuer: "+ ( (Besteuerbar)spielzeug ).berechneSteuer() ); }
Die erste Typumwandlung muss besteuerbar
in den Typ
Spielwaren
(oder den der Superklasse Waren
) umwandeln.
Die zweite muss spielzeug
in Besteuerbar
umwandeln oder in eine Klasse, die Besteuerbar
implementiert.
Hier ist ein andere mögliche Antwort:
public static void main ( String[] args ) { Waren spielzeug ; Besteuerbar besteuerbar = new Spielwaren ( "Grobot", 1.49, 6 ); spielzeug = (Waren)besteuerbar; spielzeug.anzeigen(); System.out.println( "Steuer: "+ ( (Spielwaren)spielzeug ).berechneSteuer() ); }
Ist diese Antwort korrekt?