zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Nein.

Diese Zeile:

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

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

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

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

Schnittstelle als Datentyp

  public static void main ( String[] args )
  {
    Taxable artikel1 =
      new Book("Emma", 24.95, "Austin");
    Taxable artikel2 =
      new Toy("Lego", 54.45, 8);
    System.out.println( "Steuer Artikel 1: " +
      artikel1.calculateTax() );
    System.out.println( "Steuer Artikel 2: " +
      artikel2.calculateTax() );

  }

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

Die Schnittstelle Taxable teilt dem Compiler mit, dass alle Taxable-Objekte eine calculateTax() 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