Menu
Coddy logo textTech

Słowo kluczowe this

Część sekcji Programowanie obiektowe ścieżki Java w Coddy. Lekcja 4 z 87.

Słowo kluczowe this odnosi się do bieżącej instancji klasy. Pozwala odróżnić pola od parametrów o tej samej nazwie.

Bez this parametr przesłania pole

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // Przypisuje parametr samemu sobie!
    }
}

Używanie this do prawidłowego przypisywania wartości

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // Przypisuje parametr do pola
    }
    
    public String getName() {
        return this.name;
    }
}

Używanie this w metodach

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";
    }
}

Słowo kluczowe this zawsze wskazuje bieżący obiekt. Jest niezbędne, gdy nazwy parametrów są takie same jak nazwy pól, ponieważ zapobiega nieporozumieniom i błędom.

challenge icon

Wyzwanie

Średni

Uzupełnij klasę Person, używając słowa kluczowego this, aby odróżnić pola od parametrów:

  • Konstruktor, który używa this do przypisywania parametrów do pól
  • Metody pobierające, które używają this do uzyskiwania dostępu do pól
  • Metoda getDescription() zwracająca "<name>, age <age>, from <city>"

Spróbuj swoich sił

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 iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Java online