‘esta’ referencia en Java

‘esto’ es una variable de referencia que hace referencia al objeto actual.

Las siguientes son las formas de usar la palabra clave ‘this’ en Java:
1. Usar la palabra clave ‘this’ para hacer referencia a las variables de instancia de clase actuales

Java

//Java code for using 'this' keyword to
//refer current class instance variables
class Test
{
    int a;
    int b;
     
    // Parameterized constructor
    Test(int a, int b)
    {
        this.a = a;
        this.b = b;
    }
 
    void display()
    {
        //Displaying value of variables a and b
        System.out.println("a = " + a + "  b = " + b);
    }
 
    public static void main(String[] args)
    {
        Test object = new Test(10, 20);
        object.display();
    }
}

Producción:

a = 10  b = 20

2. Usando this() para invocar el constructor de clase actual

Java

// Java code for using this() to
// invoke current class constructor
class Test
{
    int a;
    int b;
 
    //Default constructor
    Test()
    { 
        this(10, 20);
        System.out.println("Inside  default constructor \n");
    }
     
    //Parameterized constructor
    Test(int a, int b)
    {
        this.a = a;
        this.b = b;
        System.out.println("Inside parameterized constructor");
    }
 
    public static void main(String[] args)
    {
        Test object = new Test();
    }
}

Producción:

Inside parameterized constructor
Inside  default constructor

3. Usar la palabra clave ‘this’ para devolver la instancia de clase actual 

Java

//Java code for using 'this' keyword
//to return the current class instance
class Test
{
    int a;
    int b;
 
    //Default constructor
    Test()
    {
        a = 10;
        b = 20;
    }
     
    //Method that returns current class instance
    Test get()
    {
        return this;
    }
     
    //Displaying value of variables a and b
    void display()
    {
        System.out.println("a = " + a + "  b = " + b);
    }
 
    public static void main(String[] args)
    {
        Test object = new Test();
        object.get().display();
    }
}

Producción:

a = 10  b = 20

4. Usar la palabra clave ‘this’ como parámetro de método

Java

// Java code for using 'this'
// keyword as method parameter
class Test
{
    int a;
    int b;
     
    // Default constructor
    Test()
    {
        a = 10;
        b = 20;
    }
     
    // Method that receives 'this' keyword as parameter
    void display(Test obj)
    {
        System.out.println("a = " +obj.a + "  b = " + obj.b);
    }
  
    // Method that returns current class instance
    void get()
    {
        display(this);
    }
 
    public static void main(String[] args)
    {
        Test object = new Test();
        object.get();
    }
}

Producción:

a = 10  b = 20

5. Usar la palabra clave ‘this’ para invocar el método de clase actual 

Java

// Java code for using this to invoke current
// class method
class Test {
 
    void display()
    {
        // calling function show()
        this.show();
    
       System.out.println("Inside display function");
    }
     
    void show() {
        System.out.println("Inside show function");
    }
     
 
    public static void main(String args[]) {
        Test t1 = new Test();
        t1.display();
    }
}

Producción:  

Inside show function
Inside display function

6. Usar la palabra clave ‘this’ como argumento en la llamada al constructor

Java

// Java code for using this as an argument in constructor
// call
// Class with object of Class B as its data member
class A
{
    B obj;
     
    // Parameterized constructor with object of B
    // as a parameter
    A(B obj)
    {
        this.obj = obj;
        
     // calling display method of class B
        obj.display();
    }
     
}
 
class B
{
    int x = 5;
     
    // Default Constructor that create a object of A
    // with passing this as an argument in the
   // constructor
    B()
    {
        A obj = new A(this);
    }
     
    // method to show value of x
    void display()
    {
        System.out.println("Value of x in Class B : " + x);
    }
     
    public static void main(String[] args) {
        B obj = new B();
    }
}

Producción: 

Value of x in Class B : 5

Este artículo es una contribución de Mehak Narang y Amit Kumar
 
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *