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.
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.
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.java02Ein 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.
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.