Menu
Coddy logo textTech

La palabra clave this

Parte de la sección Programación Orientada a Objetos del Journey de Java de Coddy — lección 4 de 87.

La palabra clave this se refiere a la instancia actual de una clase. Distingue entre campos y parámetros con el mismo nombre.

Sin this, el parámetro oculta al campo

public class Person {
    private String name;
    
    public Person(String name) {
        name = name;  // ¡Asigna el parámetro a sí mismo!
    }
}

Uso de this para asignar valores correctamente

public class Person {
    private String name;
    
    public Person(String name) {
        this.name = name;  // Asigna el parámetro al campo
    }
    
    public String getName() {
        return this.name;
    }
}

Uso de this en métodos

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 palabra clave this siempre apunta al objeto actual. Es esencial cuando los nombres de los parámetros coinciden con los nombres de los campos, lo que evita confusiones y errores.

challenge icon

Desafío

Intermedio

Completa la clase Person utilizando la palabra clave this para distinguir entre campos y parámetros:

  • Un constructor que utiliza this para asignar parámetros a los campos
  • Métodos getter que utilizan this para acceder a los campos
  • Un método getDescription() que devuelve "<name>, age <age>, from <city>"

Hoja de referencia

La palabra clave this se refiere a la instancia actual de una clase y distingue entre campos y parámetros con el mismo nombre.

Sin this, el parámetro oculta al campo:

public Person(String name) {
    name = name;  // ¡Asigna el parámetro a sí mismo!
}

Uso de this para asignar valores correctamente:

public Person(String name) {
    this.name = name;  // Asigna el parámetro al campo
}

Uso de this en métodos getter:

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

Uso de this con múltiples campos:

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

Pruébalo tú mismo

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 iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos