Skip to Content

1.12 Konstruktoren, Abfolge

Die main() Methode der Klasse Unterklasse erzeugt eine Instanz der Klasse Unterklasse. Verfolgen Sie den Ablauf des Programms welches mit dem Befehl

java Unterklasse

gestartet wird. Numerieren sie alle aufgerufenen Ausgaben (System.out.println) in der aufgerufenen Reihenfolge durch.
Der erste Aufruf im Befehl:

System.out.println("Start"); // 1

ist bereits als Hilfe dokumentiert. Fahren sie mit „// 2“ etc. hinter dem Quelltext fort

public class Oberklasse {
   public Oberklasse () {
      System.out.println("Oberklasse-ohne-parameter"); 
   }
   public Oberklasse (String text) {
      this();
      System.out.println("Oberklasse-mit-String"); 
   }
}
 
public class Unterklasse extends Oberklasse {
   public Unterklasse (int zahl) {
      super ("Hallo");
      System.out.println("Unterklasse-mit-int");
   }
   public Unterklasse () {
      System.out.println("Unterklasse-ohne-Parameter");
   }
   public static void main(String[] args) {
System.out.println("Start"); // 1
Unterklasse u = new Unterklasse(8);
}
}

 

Niveau 1
Schwierigkeitsgrad mittel
Zeit

4 Minuten

Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)

Antwort zu 1.11: Konstruktoren

Dies ist eine Implikation des Prinzips der Datenkapselung. Eine Klasse mit einem selbst implementierten Konstruktor soll keine Möglichkeit mehr bieten diesen Konstruktor zum Umgehen. Nur das Sperren des default Konstruktors kann garantieren, dass die Klasse im Sinne des Entwicklers initialisiert wird. 

 

Comments

diese Aufgabe ist bei der

diese Aufgabe ist bei der Lernzielkontrolle zu Kapitel 6 aufgeführt.
Ist sie zu diesem Zeitpunkt wirklich schon lösbar? Ohne zu wissen, wie "extends" funktioniert ist der Ablauf doch nicht nachvollziehbar, oder?



blog | by Dr. Radut