Menu
Coddy logo textTech

Das this-Schlüsselwort

Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy — Lektion 4 von 87.

Das Schlüsselwort this bezieht sich auf die aktuelle Instanz einer Klasse. Es unterscheidet zwischen Feldern und Parametern mit demselben Namen.

Ohne this überdeckt der Parameter das Feld

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // Weist den Parameter sich selbst zu!
    }
}

Verwendung von this, um Werte korrekt zuzuweisen

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // Weist dem Feld den Parameter zu
    }
    
    public String getName() {
        return this.name;
    }
}

Verwendung von this in Methoden

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getDescription() {
        return this.name + " is " + this.age + " years old";
    }
}

Das Schlüsselwort this zeigt immer auf das aktuelle Objekt. Es ist unverzichtbar, wenn Parameternamen mit Feldnamen übereinstimmen, um Verwirrung und Fehler zu vermeiden.

challenge icon

Aufgabe

Mittel

Vervollständigen Sie die Klasse Person unter Verwendung des Schlüsselworts this, um zwischen Feldern und Parametern zu unterscheiden:

  • Ein Konstruktor, der this verwendet, um Parameter Feldern zuzuweisen
  • Getter-Methoden, die this verwenden, um auf Felder zuzugreifen
  • Eine Methode getDescription(), die "<name>, age <age>, from <city>" zurückgibt

Spickzettel

Das Schlüsselwort this bezieht sich auf die aktuelle Instanz einer Klasse und unterscheidet zwischen Feldern und Parametern mit demselben Namen.

Ohne this überschattet der Parameter das Feld:

public Person(String name) {
    name = name;  // Weist den Parameter sich selbst zu!
}

Verwendung von this, um Werte korrekt zuzuweisen:

public Person(String name) {
    this.name = name;  // Weist den Parameter dem Feld zu
}

Verwendung von this in Getter-Methoden:

public String getName() {
    return this.name;
}

Verwendung von this mit mehreren Feldern:

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getDescription() {
        return this.name + " is " + this.age + " years old";
    }
}

Probier es selbst

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        int age = Integer.parseInt(scanner.nextLine());
        String city = scanner.nextLine();
        
        Person person = new Person(name, age, city);
        
        System.out.println("Name: " + person.getName());
        System.out.println("Age: " + person.getAge());
        System.out.println("City: " + person.getCity());
        System.out.println(person.getDescription());
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung