Esta é uma palavra-chave em Java que representa um objeto. Isso pode aparecer em métodos de instância e construtores, mas não em métodos de classe.
Use isso no construtor
Quando a palavra-chave this aparece no construtor de uma classe, ela representa o objeto criado usando esse construtor.
Por exemplo:
publicclassPeople{intleg,hand;Stringname;People(Strings){name=s;this.init();//This pode ser omitido, ou seja, escrito como init();}voidinit(){leg=2;hand. =2;System .out.println(nome+tem+mão+mão+1eg+perna);}publicstaticvoidmain(Stringargs[]){Pessoasboshi=newPessoas(Bush);}}
Usando isso em métodos de instância
Os métodos de instância só podem ser chamados através do objeto, não através do nome da classe. Quando a palavra-chave this aparece em um método de instância, ela representa o objeto atual que está chamando o método.
Os métodos de instância podem operar variáveis de membro de uma classe Quando variáveis de membro de instância aparecem em um método de instância, o formato geral é:
variável this.member;
Quando variáveis de membros estáticos aparecem em métodos de instância, o formato geral é:
Nome da classe. Variável membro;
Por exemplo:
classA{intx;staticinty;voida(){this.x=10;Ay=20;}}
Isso aparece na instância do método a na classe A. Isso representa o objeto atual usando a, então "this.x" representa a variável x do objeto atual. Quando o objeto chama o método a, 10 é atribuído à variável do objeto. . Quando um objeto chama um método, as variáveis de membro de instância no método referem-se às variáveis de membro de instância atribuídas ao objeto e as variáveis estáticas são compartilhadas com outros objetos. Portanto, em circunstâncias normais, você pode omitir “isto” na frente do nome da variável do membro da instância e “nome da classe” na frente da variável estática.
Por exemplo:
classA{intx;staticinty;voida(){x=10;//Omitir this.y=20;//Omitir o nome da classe.}}
Perceber:
Quando o nome da variável de membro da instância é igual ao nome da variável local, o "this" ou "nome da classe" na frente da variável de membro não pode ser omitido.
Os métodos de instância de uma classe podem chamar outros métodos da classe. O formato geral para chamar métodos de instância é:
este.método;
O formato geral para chamadas de métodos de classe é:
nomedaclasse.método;
Por exemplo:
classB{voidb(){this.c();Bd();}voidc(){System.out.println(hi);}staticvoidd(){System.out.println(ok);}}
Isso aparece no método b na classe B e representa o objeto atual que chama o método b, então this.c() no corpo do método b é o objeto atual que chama o método c, ou seja, chamando o método em um determinado objeto No processo de b, o método c é chamado novamente. Como esse relacionamento lógico é muito claro, quando um método de instância chama outro método, você pode omitir “isto” ou “nome da classe”.
Por exemplo:
classB{voidb(){c();//Omitir this.d();//Omitir o nome da classe.}voidc(){System.out.println(hi);}staticvoidd(){System.out.println ( OK);}}
Perceber:
Isso não pode aparecer nos métodos de classe porque os métodos de classe podem ser chamados diretamente através do nome da classe e nenhum objeto pode ter nascido ainda.