zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Nein.

Diese Zeile:

System.out.println( inventar[1] );

führt die toString() Methode eines Lebensmittel-Objekts aus. Aber diese Zeile:

System.out.println( inventar[2] );

führt die toString() Methode eines Buecher-Objekts aus.

Schnittstelle als Datentyp

  public static void main ( String[] args )
  {
    Besteuerbar artikel1 = new Buecher ( "Emma", 24.95, "Austin" );
    Besteuerbar artikel2 = new Spielwaren  ( "Lego", 54.45, 8 );

    System.out.println( "Steuer fuer Artikel 1: " + artikel1.berechneSteuer() );
    System.out.println( "Steuer fuer Artikel 2: " + artikel2.berechneSteuer() );

  }

Eine Schnittstelle kann als Datentyp für eine Referenzvariable verwendet werden. Da Spielwaren und Buecher die Schnittstelle Besteuerbar implementieren, können beide mit einer Referenzvariable vom Typ Besteuerbar verwendet werden:

Die Schnittstelle Besteuerbar teilt dem Compiler mit, dass alle Besteuerbar-Objekte eine berechneSteuer() Methode haben werden, so dass diese Methode mit den Variablen verwendet werden kann.


FRAGE 15:

Würde das Folgende funktionieren?

System.out.println( artikel1.toString() );
System.out.println( artikel2.toString() );
zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite