¿Qué es esta palabra clave en Java?

Java es un lenguaje orientado a objetos y puede haber muchos objetos presentes a la vez, en los que podríamos estar operando, "esta" palabra clave aquí aparece en la imagen porque ayuda a señalar la instancia actual o el objeto actual de una clase.

Por lo tanto, cuando buscamos invocar métodos de la clase actual, cuando queremos invocar al constructor de la clase actual, devolvemos la instancia actual de los métodos, pasamos la instancia actual a los métodos; En todos estos casos, esta palabra clave es útil.

Ejemplos de casos de uso

  1. El bloque sincronizado en subprocesos múltiples utiliza esta palabra clave como argumento
  2. Sobrecarga del constructor

¿Por qué usar esta palabra clave en Java?

  • 'esta' variable actúa como una variable final en java, es decir, no podemos asignar ningún valor a 'esta' variable, esto se puede verificar mediante la asignación de un valor a 'esta' palabra clave y dará lugar a un error de compilación.
  • 'this' también se puede usar para referir miembros estáticos (pero no se debe hacer) porque los miembros estáticos se declaran solo una vez, es decir, la asignación de memoria que se les hace es solo una vez y si intentamos hacer manipulaciones usando 'this', entonces siempre manipulará los datos colocados en esa ubicación de memoria en lugar de crear datos en nuevas ubicaciones de memoria, lo que hacen los objetos.
  • Esto evita la tarea de realizar asignaciones innecesarias a las variables y, a veces, no necesitamos crear variables adicionales también, 'esta' palabra clave siempre que se use nos da la seguridad de que se hace referencia a la instancia actual.

Importancia de esta palabra clave

Los ejemplos a continuación muestran que necesitamos crear variables con diferentes nombres para propiedades particulares, simplemente se pueden asignar en el constructor durante la inicialización del objeto usando esta palabra clave.

  • Evita el conflicto de la variable miembro y el nombre de la variable local, se puede referir la variable miembro utilizando esta palabra clave.

public class Student (
int marks;
String subjectName;
//constructor
public Student(int marks, String subjectName)
(
this.marks = marks;
this.subjectName=subjectName;
)
public Student()
(
)
public static void main(String args())
(
Student s = new Student(1, "name");
)
)

  • Los métodos de clase de objeto también pueden invocarse usando esto.

//consider a method shown here
public String getName()
(
return this.toString();
)

  • Esto se puede usar en los métodos setter y getter, para devolver las instancias actuales.

Public int getmarks()
(
return this.marks;
)
public void setMarks(int marks)
(
this.marks =marks;
)

Usos particulares de esta palabra clave

Estos son algunos usos de esta palabra clave explicados a continuación con la implementación:

1. Usar dentro de un campo

public class PointCoordinates (
public int xval = 0;
public int yval = 0;
//constructor
public PointCoordinates (int a, int b) (
xval = a;
yval = b;
)
public static void main(String args())
(
)
)

Pero podría haberse escrito así:

public class PointCoordinates (
public int xval = 0;
public int yval= 0;
//constructor
public PointCoordinates (int xval, int yval) (
this.xval = xval;
this.yval = yval;
)
public static void main(String args())
(
)
)

Así que esto fue algo que explicamos también en la última sección, donde se puede ver que las convenciones de nomenclatura para un tipo de campo de datos pueden mantenerse uniformes si estamos usando la palabra clave 'this'.

Por lo tanto, se supone que un desarrollador no debe realizar un seguimiento o asignar un gráfico de variables para el mismo tipo de campo de datos lógicos.

2. Invocación del constructor usando esta palabra clave

Podemos usar esta palabra clave dentro de un constructor y llamar a otro constructor desde allí, en la misma clase. Esto también se llama invocación explícita del constructor.

Consideremos un ejemplo que se muestra a continuación para lo mismo:

public class Square (
private int x;
private int side;
public Square () (
this(1);
)
public Square (int side) (
this(0, side);
)
public Square (int x, int side) (
this.x = x;
this.side = side;
)
public static void main(String args())
(
)
)

Hay tres constructores aquí en la imagen, tenga en cuenta que se supone que el constructor predeterminado se coloca explícitamente cuando estamos sobrecargando el constructor.

Estos constructores están inicializando algunas variables miembro, el compilador está recibiendo una indicación aquí sobre la invocación del constructor a través del número de parámetros utilizados dentro de los métodos.

3. Devolución de la instancia de clase actual con esta palabra clave

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
//Method to return current class instance
Rectangle getObject()
(
return this;
)
public void print()
(
System.out.println(height+", "+ width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject().print();
)
)

Entonces, en el ejemplo que se muestra arriba, se puede ver que el objeto actual está siendo devuelto desde un método getter y en esa instancia, se ha invocado el método particular "print".

4. Usar como parámetro de método

class Rectangle
(
int height;
int width;
Rectangle()
(
height = 10;
width = 20;
)
void getObject()
(
print(this);
)
public void print(Rectangle object)
(
System.out.println(object.height + ", " + object.width);
)
public static void main(String() args)
(
Rectangle object = new Rectangle();
object.getObject();
)
)

El ejemplo citó cómo se pasa el objeto actual a un método que puede usar este objeto para su uso personalizado.

Conclusión

Vimos varios casos de uso aquí, citando las variantes contra el uso de esta palabra clave en Java y dónde usar y dónde no usar, esas condiciones se han presentado de manera explícita.
La palabra clave 'this' es común entre todos los lenguajes de programación, en los marcos basados ​​en JavaScript también, 'this' encuentra un papel clave.
'esta' palabra clave puede convertirse en una sobrecarga si no se entiende bien y es una gran ayuda para los desarrolladores si se entiende correctamente.

Artículos recomendados

Esta es una guía para esta palabra clave en Java. Aquí discutimos la importancia, usos particulares y ejemplos de esta palabra clave en Java junto con su implementación de código. También puede consultar los siguientes artículos para obtener más información.

  1. Objeto en Java
  2. Encapsulación en JavaScript
  3. Palabra clave estática en Java
  4. Sobrecarga y anulación en Java
  5. Función y reglas de anulación en Python