Eine gute Antwort wäre:

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.

Noch mehr Übung

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() );
  }

FRAGE 19:

Ist diese Antwort korrekt?

Inhaltsverzeichnis