Guía de esta palabra clave de Java

1. Introducción

En este tutorial, veremos la palabra clave this Java.

En Java, esta palabra clave es una referencia al objeto actual cuyo método se está llamando .

Exploremos cómo y cuándo podemos usar la palabra clave.

2. Desambiguación del sombreado de campo

La palabra clave es útil para eliminar la ambigüedad de las variables de instancia de los parámetros locales . La razón más común es cuando tenemos parámetros de constructor con el mismo nombre que los campos de instancia:

public class KeywordTest { private String name; private int age; public KeywordTest(String name, int age) { this.name = name; this.age = age; } }

Como podemos ver aquí, estamos usando esto con los campos de instancia de nombre y edad , para distinguirlos de los parámetros.

Otro uso es usar esto con el parámetro ocultar o sombrear en el ámbito local. Se puede encontrar un ejemplo de uso en el artículo Ocultación de métodos y variables.

3. Constructores de referencia de la misma clase

Desde un constructor, podemos usar this () para llamar a un constructor diferente de la misma clase . Aquí, usamos this () para el encadenamiento del constructor para reducir el uso de código.

El caso de uso más común es llamar a un constructor predeterminado desde el constructor parametrizado:

public KeywordTest(String name, int age) { this(); // the rest of the code }

O podemos llamar al constructor parametrizado desde el constructor sin argumentos y pasar algunos argumentos:

public KeywordTest() { this("John", 27); }

Tenga en cuenta que this () debe ser la primera instrucción en el constructor, de lo contrario se producirá el error de compilación.

4. Pasando esto como parámetro

Aquí tenemos el método printInstance () , donde se define este argumento de palabra clave :

public KeywordTest() { printInstance(this); } public void printInstance(KeywordTest thisKeyword) { System.out.println(thisKeyword); }

Dentro del constructor, invocamos el método printInstance () . Con esto , pasamos una referencia a la instancia actual.

5. Devolviendo este

También podemos usar esta palabra clave para devolver la instancia de clase actual del método.

Para no duplicar el código, aquí hay un ejemplo práctico completo de cómo se implementa en el patrón de diseño del constructor.

6. La palabra clave this dentro de la clase interna

También usamos esto para acceder a la instancia de la clase externa desde dentro de la clase interna:

public class KeywordTest { private String name; class ThisInnerClass { boolean isInnerClass = true; public ThisInnerClass() { KeywordTest thisKeyword = KeywordTest.this; String outerString = KeywordTest.this.name; } } }

Aquí, dentro del constructor, podemos obtener una referencia a la instancia de KeywordTest con KeywordTest.this llamada . Podemos profundizar aún más y acceder a las variables de instancia como el campo KeywordTest.this.name .

7. Conclusión

En este artículo, exploramos la palabra clave this en Java.

Como de costumbre, el código completo está disponible en Github.