Menu
Coddy logo textTech

La parola chiave this

Fa parte della sezione Programmazione orientata agli oggetti del percorso Java di Coddy. Lezione 4 di 87.

La parola chiave this si riferisce all’istanza corrente di una classe. Distingue tra campi e parametri con lo stesso nome.

Senza this, il parametro nasconde il campo

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // Assegna il parametro a sé stesso!
    }
}

Usare this per assegnare correttamente i valori

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // Assegna il parametro al campo
    }
    
    public String getName() {
        return this.name;
    }
}

Usare this nei metodi

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

La parola chiave this punta sempre all’oggetto corrente. È fondamentale quando i nomi dei parametri corrispondono ai nomi dei campi, evitando confusione e bug.

challenge icon

Sfida

Medio

Completa la classe Person usando la parola chiave this per distinguere i campi dai parametri:

  • Un costruttore che usa this per assegnare i parametri ai campi
  • Metodi getter che usano this per accedere ai campi
  • Un metodo getDescription() che restituisce "<name>, age <age>, from <city>"

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Java online