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?