20% Rabatt mit Code ERSTIS26
5 min Lesezeit 04. Juni 2026

Java Klassen & Objekte: Einfacher Guide für IT-Einsteiger

Verstehe Klassen und Objekte in Java einfach erklärt. Dieser Guide hilft IT-Lernenden, OOP-Grundlagen für die Praxis zu meistern.

Marcel Schmidtpeter Von Marcel Schmidtpeter 04. Juni 2026
Java Klassen & Objekte: Einfacher Guide für IT-Einsteiger

Stell dir vor, du sitzt in deiner ersten Projektwoche als Fachinformatiker, im zweiten Semester deines Informatikstudiums oder in deinem Einarbeitungsprogramm als Junior Developer. Deine Aufgabe: Ein kleines Verwaltungssystem für eine Autovermietung. Du öffnest deine Java IDE und fragst dich - wie genau repräsentiere ich eigentlich Autos in Code? Genau hier kommen Java Klassen und Objekte ins Spiel. Sie sind das Herzstück von Java und der gesamten objektorientierten Programmierung (OOP). Ohne sie würdest du dich in einem Chaos aus einzelnen Variablen verlieren. Mit ihnen strukturierst du deine Software so, wie sie in der echten Welt funktioniert.

Was ist eine Klasse in Java?

Eine Klasse ist ein Bauplan oder eine Vorlage, die beschreibt, wie ein bestimmter Teil deiner Software aufgebaut ist. Sie definiert Eigenschaften, die in Java "Attribute" oder "Felder" genannt werden, und Verhaltensweisen, die als "Methoden" implementiert sind.

Technisch gesehen fasst eine Klasse Daten und Funktionen zusammen, die logisch dazugehören. Stell dir eine Klasse wie den technischen Entwurf für einen Autotyp vor - zum Beispiel einen "Golf VII". Der Entwurf legt fest, dass jeder Golf dieses Typs vier Räder, einen Motor und eine bestimmte Farbe hat. Er legt auch fest, dass er beschleunigen und bremsen kann. Der Entwurf selbst ist noch kein Auto, mit dem du fahren kannst.

Wichtig: Eine Klasse beschreibt nur die Struktur und das Verhalten. Sie belegt keinen Speicherplatz für konkrete Daten, solange sie nicht benutzt wird. Mehr zu den technischen Details findest du auch bei W3Schools zu Java Klassen.

So sieht eine Klasse in Java aus:

In Java schreibst du Klassen normalerweise in eigene Dateien, aber der Name der Datei muss mit dem Klassennamen übereinstimmen.

java
public class Auto {

  // Attribute - die Eigenschaften
  String marke;
  String modell;
  int baujahr;

  // Methode - was das Auto kann
  public void hupe() {
    System.out.println("Tuut Tuut!");
  }
}

Hier hast du den Bauplan `Auto` erstellt. Er weiß, dass ein Auto eine Marke, ein Modell und ein Baujahr hat. Er weiß auch, dass ein Auto hupen kann. Noch kannst du dieses Auto aber nicht fahren, denn es existiert noch kein konkretes Fahrzeug.

Was ist ein Objekt in Java?

Ein Objekt ist die konkrete Instanz einer Klasse. Das bedeutet: Hier wird aus dem abstrakten Bauplan etwas Reelles, mit dem du arbeiten kannst. Ein Objekt wird im Arbeitsspeicher deines Computers erstellt und belegt dort Platz.

Wenn die Klasse der Bauplan für ein Haus ist, dann ist das Objekt das fertige Gebäude, das auf einem Grundstück steht. Aus einem Bauplan (Klasse) kannst du viele Häuser (Objekte) bauen. Sie haben alle den gleichen Grundriss, aber unterschiedliche Farben oder verschiedene Einrichtungsgegenstände.

Ein Objekt erstellen:

Um ein Objekt zu erstellen, benötigst du das Schlüsselwort `new`.

java
public class Main {

  public static void main(String[] args) {
    // Objekt erstellen mit dem new-Schluesselwort
    Auto meinAuto = new Auto();

    // Attribute mit konkreten Werten fuellen
    meinAuto.marke = "VW";
    meinAuto.modell = "Golf";
    meinAuto.baujahr = 2023;

    // Methode aufrufen
    meinAuto.hupe(); // Ausgabe: Tuut Tuut!
  }
}

Das `new`-Schlüsselwort sagt der Java Virtual Machine (JVM): "Reserviere mir Speicherplatz für ein neues Auto und initialisiere es gemäß dem Bauplan der Klasse `Auto`."

Wie funktionieren Java Klassen und Objekte zusammen?

Das Zusammenspiel ist einfach: Du definierst einmal, wie etwas aussieht (Klasse), und erzeugst dann beliebig viele konkrete Exemplare davon (Objekte). Das macht deinen Code wiederverwendbar und übersichtlich.

Hier ist ein Vergleich, um den Unterschied fest im Kopf zu verankern:

Begriff

Analogie (Auto)

Existenz im Programm

Klasse

Konstruktionsplan / Bauplan

Nur im Quellcode (.java Datei)

Objekt

Das fertige Auto im Parking Spot

Im Arbeitsspeicher (während das Programm läuft)

Attribut

Farbe, PS- Zahl, Kennzeichen

Variable mit einem konkreten Wert

Methode

Bremsen, Beschleunigen, Hupe

Aufrufbare Funktion

Mehrere Objekte aus einer Klasse:

Der große Vorteil ist, dass du aus einer Klasse unendlich viele Objekte machen kannst.

java
public class Main {

  public static void main(String[] args) {
    // Erstes Objekt
    Auto auto1 = new Auto();
    auto1.marke = "BMW";
    auto1.modell = "3er";

    // Zweites Objekt
    Auto auto2 = new Auto();
    auto2.marke = "Audi";
    auto2.modell = "A4";

    // Beide sind Autos, haben aber unterschiedliche Werte
    System.out.println(auto1.marke); // Gibt "BMW" aus
    System.out.println(auto2.marke); // Gibt "Audi" aus
  }
}

Beide Objekte (`auto1` und `auto2`) wissen unabhängig voneinander, welche Marke sie sind.

Was ist ein Konstruktor?

Ein Konstruktor ist eine spezielle Methode, die genau dann aufgerufen wird, wenn du ein neues Objekt mit `new` erstellst. Sein Name ist exakt identisch mit dem Klassennamen und er hat keinen Rückgabetyp (nicht einmal `void`).

Warum brauchst du ihn? Stell dir vor, du willst sicherstellen, dass kein Auto ohne Baujahr erstellt wird. Ohne Konstruktor könntest du vergessen, das Attribut `baujahr` zu setzen, und dein Programm würde später abstürzen, weil es auf leere Daten zugreift. Der Konstruktor erzwingt, dass alle wichtigen Daten sofort bei der Geburt des Objekts vorhanden sind.

Klasse mit Konstruktor:

java
public class Auto {

  String marke;
  String modell;
  int baujahr;

  // Konstruktor: Wird bei 'new Auto(...)' aufgerufen
  public Auto(String pMarke, String pModell, int pBaujahr) {
    this.marke = pMarke;
    this.modell = pModell;
    this.baujahr = pBaujahr;
  }

  public void hupe() {
    System.out.println("Tuut Tuut!");
  }
}

Das Schlüsselwort `this` ist hier wichtig. Es bedeutet "das aktuelle Objekt". `this.marke` ist das Attribut des Objekts, `pMarke` ist der Wert, der von außen reinkommt. Man nennt das auch Zuweisung von Parametern an Instanzvariablen.

Hinweis: Wenn du keinen eigenen Konstruktor schreibst, erstellt Java automatisch einen "Standardkonstruktor", der keine Parameter hat. Sobald du aber einen eigenen schreibst, ist der Standard-Konstruktor weg.

Objekt mit Konstruktor erstellen:

Das geht jetzt viel kürzer und sicherer:

java
// In einer Zeile erstellen und initialisieren
Auto meinAuto = new Auto("VW", "Golf", 2023);

Wenn du wissen willst, was Methoden genau können und wie man sie übergibt, schau dir unseren Guide zu Java Methoden an.

Praxisbeispiel: Ein komplettes Programm

Hier ist ein vollständiges Beispiel für unsere Autovermietung. Es zeigt, wie Attribute, Konstruktoren und Methoden zusammenarbeiten. Kopiere es gerne in deine IDE.

java
public class Auto {

  String marke;
  String modell;
  int baujahr;
  boolean verliehen;

  // Konstruktor
  public Auto(String marke, String modell, int baujahr) {
    this.marke = marke;
    this.modell = modell;
    this.baujahr = baujahr;
    this.verliehen = false; // Standardwert: nicht verliehen
  }

  // Methode zum Ausleihen
  public void autoAusleihen() {
    if (!verliehen) {
      verliehen = true;
      System.out.println(modell + " wurde erfolgreich ausgeliehen.");
    } else {
      System.out.println(modell + " ist leider nicht verfuegbar.");
    }
  }

  // Methode zur Info-Anzeige
  public void zeigeInfo() {
    String status = verliehen ? "verliehen" : "verfuegbar";
    System.out.println(
      marke + " " + modell + " (" + baujahr + ") - Status: " + status
    );
  }
}

Und hier die `Main`-Klasse, die das Programm startet:

java
public class Main {

  public static void main(String[] args) {
    // Drei Autos erstellen (Objekte instanziieren)
    Auto auto1 = new Auto("VW", "Golf", 2022);
    Auto auto2 = new Auto("BMW", "3er", 2023);
    Auto auto3 = new Auto("Audi", "A4", 2021);

    // Status aller Autos anzeigen
    auto1.zeigeInfo();
    auto2.zeigeInfo();
    auto3.zeigeInfo();

    System.out.println("--- Trennung ---");

    // Ein Auto ausleihen
    auto2.autoAusleihen();

    // Status erneut pruefen
    auto2.zeigeInfo();

    // Versuch, das gleiche Auto nochmal auszuleihen
    auto2.autoAusleihen();
  }
}

Ausgabe auf der Konsole:

text
VW Golf (2022) - Status: verfuegbar
BMW 3er (2023) - Status: verfuegbar
Audi A4 (2021) - Status: verfuegbar
--- Trennung ---
3er wurde erfolgreich ausgeliehen.
BMW 3er (2023) - Status: verliehen
3er ist leider nicht verfuegbar.

Wenn dir Begriffe wie `boolean` (Wahrheitswert) oder das `!`-Zeichen (logisches NICHT) fremd sind, wirf einen Blick in unsere Artikel zu Java Variablen und Java Operatoren.

Häufige Fehler bei Java Klassen und Objekten

Als Anfänger stolpert man oft über die gleichen Stolpersteine. Hier sind die Klassiker.

Fehler 1: Das `new`-Schlüsselwort vergessen

Du deklarierst die Variable, aber erzeugst kein Objekt. Das führt zur berüchtigten `NullPointerException`.

java
// FALSCH
Auto meinAuto; // Nur eine Referenz, kein Objekt!
meinAuto.marke = "VW"; // Absturz!

java
// RICHTIG
Auto meinAuto = new Auto("VW", "Golf", 2023);

Fehler 2: Statische Verwendung von Instanzvariablen

Du versuchst, auf Attribute zuzugreifen, ohne ein Objekt zu haben.

java
// FALSCH
Auto.marke = "VW"; // Geht nicht, marke gehoert zum Objekt, nicht zur Klasse!

Du brauchst immer ein Objekt (`meinAuto.marke`), es sei denn, das Attribut ist explizit als `static` definiert. Das ist aber fortgeschrittenes Design.

Fehler 3: Rückgabetyp beim Konstruktor

Ein Konstruktor liefert nichts zurück, nicht mal `void`.

java
// FALSCH
public void Auto(String marke) {
  // 'void' ist hier falsch
  this.marke = marke;
}

java
// RICHTIG
public Auto(String marke) {
  this.marke = marke;
}

Übungstipp: Jetzt selber probieren

Die beste Art zu lernen, ist Code zu schreiben. Versuche folgende Aufgabe:

Erstelle eine Klasse `Schueler` mit den Attributen `name`, `alter` und `klassenstufe`. Schreibe einen Konstruktor, der alle drei Werte erwartet. Erstelle eine Methode `stelltVor()`, die einen Satz auf der Konsole ausgibt, z. B. "Hallo, ich bin Max und bin 15 Jahre alt.".

Erstelle in deiner `main`-Methode drei verschiedene Schüler-Objekte und rufe die `stelltVor()`-Methode auf.

Wenn du nicht weiterweißt, helfen die offiziellen Java-Tutorials von Oracle weiter. Achte unbedingt auf die korrekten Java Namenskonventionen: Klassen groß (`Schueler`), Variablen klein (`name`).

FAQ

Was ist der Unterschied zwischen einer Klasse und einem Objekt?

Die Klasse ist der Bauplan (die Definition), das Objekt ist die konkrete Instanz (die Umsetzung). Du hast eine Klasse "Hund", aber viele Objekte: "Bello", "Waldi", "Hasso". Die Klasse existiert nur im Code, das Objekt läuft im Speicher.

Was passiert, wenn ich keinen Konstruktor schreibe?

Java ist freundlich und fügt automatisch einen "Standardkonstruktor" (Default Constructor) ein, der keine Parameter hat. Der setzt alle Zahlen auf 0 und Objekte auf `null`. Sobald du aber deinen eigenen Konstruktor schreibst, verschwindet der automatische Standard.

Kann eine Klasse mehrere Konstruktoren haben?

Ja, das nennt man "Überladen" (Overloading). Du kannst einen Konstruktor haben, der nur die Marke erwartet, und einen anderen, der Marke, Modell und Baujahr erwartet. Java wählt dann automatisch den passenden, je nachdem, welche Argumente du beim `new`-Aufruf übergibst.

Wofür braucht man `this` in Java?

`this` ist eine Referenz auf das aktuelle Objekt selbst. Man braucht es oft, um Verwirrung zu vermeiden, wenn ein Parameter genauso heißt wie ein Attribut (z. B. `this.name = name`). Es bedeutet: "Setze *mein* Name auf den Wert, der reingegeben wurde."

Warum ist OOP (Klassen und Objekte) so wichtig?

OOP macht Code modular, wiederverwendbar und leichter zu warten. Statt für 100 Autos 1000 separate Variablen zu verwalten, hast du einen klaren Bauplan. Wenn du eine Funktion ändern willst (z. B. alle Autos sollen elektrisch hupen), änderst du es nur einmal in der Klasse, und es gilt für alle zukünftigen Objekte.

Fazit

Java Klassen und Objekte sind das Fundament der Sprache. Die Klasse liefert den Bauplan, das Objekt die lebendige Instanz. Mit Attributen speicherst du Daten, mit Methoden definierst du das Verhalten. Wenn du diesen Unterschied verinnerlicht hast, hast du den schwersten Teil des Einstiegs in Java hinter dir.

Egal ob du später Arrays von Objekten baust oder komplexe Vererbungshierarchien designst - alles basiert auf diesem Konzept. Und falls du doch mal hängst: Bei study-it.education unterstützen wir dich gerne mit Nachhilfe und Erklärungen, damit du in deiner Ausbildung oder im Studium durchstartest.


Erstgespräch · 0 € · 15 min

Brauchst du jemand, der das mit dir durchgeht?

Statt nochmal lesen: 15 min mit einem Senior-Dev.

Kostenloses Erstgespräch buchen →
Über den Autor
Marcel Schmidtpeter
Marcel Schmidtpeter

Verstehe Klassen und Objekte in Java einfach erklärt. Dieser Guide hilft IT-Lernenden, OOP-Grundlagen für die Praxis zu meistern.

marcel.schmidtpeter@study-it.education →
Weiterlesen

Mehr Lesestoff