← Java

Java · 07 / 18

Klassen und Konstruktoren

Du erzeugst einen eigenen Datentyp mit kontrollierten Anfangswerten.

  • Klein
  • Grundlagen
  • 15 min

Voraussetzungen: Arrays, Listen, Sets und Maps

Eine Klasse beschreibt Objekte mit zusammengehörigen Daten und Verhalten. Ein Konstruktor erzeugt ein Objekt. private beschränkt den direkten Zugriff auf die Klasse selbst. Dadurch können andere Teile des Programms die Daten nicht beliebig überschreiben. Unsere Klasse beschreibt die Konfiguration eines kleinen Batchauftrags.

Beispieldateien

01Daten zusammenhalten

BatchConfig hat title und count. final macht die Felder nach der Konstruktion nicht neu zuweisbar. Der Konstruktor prüft count, bevor ein ungültiges Objekt entstehen kann.

Main.java · javaDatei öffnen
public class Main {
  static final class BatchConfig {
    private final String title;
    private final int count;
    BatchConfig(String title, int count) {
      if (count <= 0) throw new IllegalArgumentException("count must be positive");
      this.title = title;
      this.count = count;
    }
    String describe() { return title + ": " + count; }
  }
  public static void main(String[] args) {
    var config = new BatchConfig("Letters", 3);
    System.out.println(config.describe());
  }
}

Starten / prüfen

java Main.java

02Ein Objekt erzeugen

new BatchConfig("Letters", 3) ruft den Konstruktor auf. this.title unterscheidet das Feld vom gleichnamigen Parameter. Methoden bieten kontrollierten Zugriff auf die Informationen.

03Verantwortung begrenzen

Die Klasse weiß nichts über HTTP, JavaFX oder SQL. Sie beschreibt nur eine fachliche Konfiguration. Im echten PDF-Kern ergänzen weitere Objekte die Prüfung von Mappings, Grenzen und Zuständen.

Erwartetes Ergebnis

Letters: 3

Deine Übung

Prüfe zusätzlich, dass title weder null noch leer ist.

Lösung mit Erklärung anzeigen

Ergänze if (title == null || title.isBlank()) throw new IllegalArgumentException("title required"). || verhindert, dass bei null noch isBlank aufgerufen wird. Der Konstruktor erstellt nur ein Objekt, wenn alle Regeln passen.

Projektbezug und Quellen

Das Beispiel ist zum Lernen vereinfacht. Die verlinkte Codeversion zeigt die Anwendung im Projekt und die dortigen Prüfungen.