Esta es una palabra clave en Java que representa un objeto. Esto puede aparecer en métodos de instancia y constructores, pero no en métodos de clase.
Usa esto en el constructor.
Cuando la palabra clave this aparece en el constructor de una clase, representa el objeto creado usando ese constructor.
Por ejemplo:
publicclassPeople{intleg,hand;Stringname;People(Strings){name=s;this.init();// Esto se puede omitir, es decir, escribir como init();}voidinit(){leg=2;hand. =2;System .out.println(nombre+tener+mano+mano+1eg+pierna);}publicstaticvoidmain(Stringargs[]){Peopleboshi=newPeople(Bush);}}
Usando esto en métodos de instancia
Los métodos de instancia solo se pueden llamar a través del objeto, no a través del nombre de la clase. Cuando la palabra clave this aparece en un método de instancia, representa el objeto actual que llama al método.
Los métodos de instancia pueden operar variables miembro de una clase. Cuando las variables miembro de instancia aparecen en un método de instancia, el formato general es:
esta variable miembro;
Cuando aparecen variables miembro estáticas en métodos de instancia, el formato general es:
Nombre de clase.Variable miembro;
Por ejemplo:
claseA{intx;staticinty;voida(){this.x=10;Ay=20;}}
Esto aparece en el método de instancia a en la clase A. Esto representa el objeto actual usando a, por lo que "this.x" representa la variable x del objeto actual. Cuando el objeto llama al método a, se asigna 10 a la variable del objeto. . Cuando un objeto llama a un método, las variables miembro de instancia en el método se refieren a las variables miembro de instancia asignadas al objeto y las variables estáticas se comparten con otros objetos. Por lo tanto, en circunstancias normales, puede omitir "esto" delante del nombre de la variable miembro de la instancia y "nombre de clase delante de la variable estática".
Por ejemplo:
classA{intx;staticinty;voida(){x=10;//Omitir this.y=20;//Omitir el nombre de la clase.}}
Aviso:
Cuando el nombre de la variable miembro de la instancia es el mismo que el nombre de la variable local, no se puede omitir "este" o "nombre de clase".
Los métodos de instancia de una clase pueden llamar a otros métodos de la clase. El formato general para llamar a métodos de instancia es:
este.método;
El formato general para llamadas a métodos de clase es:
nombre de clase.método;
Por ejemplo:
claseB{voidb(){this.c();Bd();}voidc(){System.out.println(hi);}staticvoidd(){System.out.println(ok);}}
Esto aparece en el método b en la clase B, y representa el objeto actual que llama al método b, por lo que this.c() en el cuerpo del método del método b es el objeto actual que llama al método c, es decir, llama al método en un determinado objeto En el proceso de b, se vuelve a llamar al método c. Dado que esta relación lógica es muy clara, cuando un método de instancia llama a otro método, puede omitir "esto" o "nombre de clase" delante del nombre del método.
Por ejemplo:
classB{voidb(){c();//Omitir this.d();//Omitir el nombre de la clase.}voidc(){System.out.println(hi);}staticvoidd(){System.out.println ( OK);}}
Aviso:
Esto no puede aparecer en los métodos de clase porque los métodos de clase se pueden llamar directamente a través del nombre de la clase y es posible que aún no haya nacido ningún objeto.