"Grundkurs Programmieren in Java - (8. Auflage, 2018)"
2001-2018, Carl Hanser Verlag

Lösungsvorschlag zu Aufgabe 8.15 (Version 3.0)

(c) 2001-2018 D. Ratz, D. Schulmeister-Zimolong, D. Seese, J. Wiesenberger

a)

Programmausgabe:
  E:\hiwi\temp>java AutoTest
  Das Auto faehrt
Grund:
Polymorphismus (=dynamische Bindung). Nicht der deklarierte, sondern der tatsächliche Typ des Objektes ist relevant. Bei der dynamischen Bindung (auch dynamic- oder late- oder auch runtime-binding genannt) muss der Interpreter zur Laufzeit den Typ des Objektes feststellen können.

Quelltext: AutoTest.java

b)

Programmausgabe:
  E:\hiwi\temp>java ElchTest
  Wert von a ist: 0
  Wert von a ist: 0
  Wert von b ist: 1
  Wert von b ist: 1
  Wert von c ist: 0
  Wert von c ist: 1
Grund:
Der Attributzugriff unterliegt nicht der dynamischen Bindung.

Quelltext: ElchTest.java