Alguem poderia me explicar o q é o metodo this??
Ninguém. Não existe método this.
this é uma keyword do java, utilizada para referenciar a instância da classe em questão.
É uma abreviação, que só pode ser usada no início de um construtor, e diz basicamente que é para reaproveitar o código de um outro construtor dessa mesma classe.
Exemplo:
class Cidade {
public Cidade (String nome) {
this.nome = nome;
}
public Cidade (String nome, int populacao) {
this (nome); // isto está reaproveitando o construtor que aceita só o nome
this.populacao = populacao;
}
public Cidade (String nome, int populacao, String estado) {
this (nome, populacao); // reaproveita o construtor que aceita nome e populacao
this.estado = estado;
}
private String nome;
private int populacao;
private String estado;
}
Vivendo e aprendendo hein… Não sabia dessa.
[quote=entanglement]Exemplo:
class Cidade {
public Cidade (String nome) {
this.nome = nome;
}
public Cidade (String nome, int populacao) {
this (nome); // isto está reaproveitando o construtor que aceita só o nome
this.populacao = populacao;
}
public Cidade (String nome, int populacao, String estado) {
this (nome, populacao); // reaproveita o construtor que aceita nome e populacao
this.estado = estado;
}
private String nome;
private int populacao;
private String estado;
}
[/quote]
De fato, respondi na pressa e nem me lembrei disto.
É a referência direta a própria instância, seria o mesmo que usar o nome da classe, que, por consequência é o mesmo nome do(s) método(s) construtor(es), diferenciados pelos parâmetros.
boa essa do reaproveitamento de construtor tambem nao conhecia…
é como se voce tivesse um construtor imenso e depois um outro construtor bem parecido mas com duas linhas a mais, dai voce chama o construtor 1 e depois adiciona essas duas linhas no construtor 2.
The power of “this”.
Também gostei de conhecer esse reaproveitamento, muito legal! Só funciona na própria classe. :lol:
Muito bom, brigadão…valew moçada :lol:
também não conhecia esse tipo de abreviação,
muito interessante…
[quote=douglaskd]também não conhecia esse método,
muito interessante…[/quote]
Não é um método, é uma invocação de um construtor. Tal como super chama um construtor da classe pai, this chama um construtor da própria classe.
[quote=pmlm][quote=douglaskd]também não conhecia esse método,
muito interessante…[/quote]
Não é um método, é uma invocação de um construtor. Tal como super chama um construtor da classe pai, this chama um construtor da própria classe.[/quote]
quem disse método ? hehe
valeu
O this pode ser usada em qualquer lugar da classe, não só no construtor.
Dentro dos métodos quando usado usado para fazer referência para o objeto declarado na classe.
Olhe o exemplo abaixo:
private String nome = "nome top";
public void imprimeNome(){
String nome = "nome sub";
System.out.println(nome);
System.out.println(this.nome);
}
Saída :
nome sub
nome top
Você usa “this.” quando quer referenciar uma variável de dentro da classe, que não está declarado dentro de nenhum método. Ela serve geralmente quando existe uma variável dentro da classe e uma do método em questão com o mesmo nome.
[quote=orogerio]O this pode ser usada em qualquer lugar da classe, não só no construtor.
Dentro dos métodos quando usado usado para fazer referência para o objeto declarado na classe.
Olhe o exemplo abaixo:
private String nome = "nome top";
public void imprimeNome(){
String nome = "nome sub";
System.out.println(nome);
System.out.println(this.nome);
}
Saída :
nome sub
nome top
[/quote]
Muito boa explicação…Parabéns !