Para evitar este tipo de inconvenientes y saber que estamos haciendo referencia a uno u otro nombre de variable dentro del alcance o ámbito de las variables, tenemos la palabra reservada “this” que nos ayuda a identificar a los atributos propios de la clase y así diferenciarlos de las variables que podamos estar manejando en los métodos.
Referencia “this”
La palabra reservada “this” se utiliza como una referencia, esta es del objeto hacia sí mismo, es como una especie de auto-referencia, se utiliza mucho cuando estamos definiendo en una clase los campos de datos y los atributos, ya que muchas veces necesitamos definir el valor de un atributo, normalmente le ponemos a la variable el mismo nombre, pero para que nuestra definición tenga algún sentido utilizamos this para establecer cual nombre corresponde a que elemento, lo interesante de esto, es que nos sirve para acceder a los atributos ocultos de la clase, así como a sus instancias.
Veamos un sencillo ejemplo para ilustrar el concepto de una mejor forma:
Tenemos una clase muy sencilla, en el método que establecemos el valor del atributo “i” tenemos que recibe una variable del mismo nombre, entonces para indicar que su valor debe ir en el atributo de la clase, a este le agregamos la palabra “this.i” con ello hacemos la referencia a sí misma y diferenciamos el ámbito de la variable con el ámbito de el atributo.
Un ejemplo podría ser que estamos haciendo un constructor sobrecargado, pero en uno de los casos no recibe ningún parámetro, dentro entonces podemos hacer una referencia con this a la misma clase y llamar al constructor pasando un atributo fijo, por ejemplo:
public Circulo(double radio){ this.radio = radio; } public Circulo(){ this.Circulo(2.0); }
Notamos entonces como en el segundo caso hemos llamado al mismo constructor pero en la sobrecarga donde recibe un parámetro, también en el constructor que recibe un parámetro con la palabra this hemos hecho referencia al atributo de la clase del mismo nombre.
Como vemos esta referencia nos ayuda a mantener una coherencia con los nombres que utilizamos en nuestros programas, también nos ayudan como en el caso de los constructores a reducir el código escrito y mejorar nuestros contextos.
Finalizando este tutorial hemos aprendido a manejar la palabra reservada this para referenciar elementos dentro de nuestras clases en los programas y aplicaciones desarrollados en Java.