Estou um pouco confuso em relacao ao usu do recurso this !! Para que serve e quando posso usalo
outra duvida e em relacao ao uso de construtores de classe. por exemplo:
public class Gata{…
public Gata{…}
}
Por que isso???
Pode me ajudar??? :oops:
Estou um pouco confuso em relacao ao usu do recurso this !! Para que serve e quando posso usalo
outra duvida e em relacao ao uso de construtores de classe. por exemplo:
public class Gata{…
public Gata{…}
}
Por que isso???
Pode me ajudar??? :oops:
Vamos ver se posso te ajudar . . .
O operador this é usado quando queremos no referenciar a um membro da própria classe por exemplo:
class Aluno {
private String nome;
public void trocarNome(String nome) {
this.nome = nome;
}
}
Neste exemplo acima temos um método que troca o nome do aluno, repare que esse método recebe um parâmetro nome, esse parâmetro tem o mesmo nome do atributo da classe Aluno, para informarmos ao compilador que queremos setar o atributo da classe Aluno, usamos o operador this. O operador this direrencia o parâmtro recebido no método do atributo declarado em nossa classe.
Podemos usar o operador this em outros casos tbem, como por exemplo para invocar um construtor ou um método da própria classe.
class Aluno {
String nome;
int idade;
//primeiro construtor
public Aluno(String nome, int idade) {
this.nome = nome;
this.idade = idade;
}
//segundo construtor
public Aluno(int idade) {
this("", idade);
}
}
No exemplo acima temos dois construtor, no caso de criarmos um objeto passando apenas a idade, o segundo construtor será invocado, que por sua vez irá invocar o primeiro construtor passando uma String vazia para o nome e a idade informada.
Bom acho que vc já deve ter sacado o lance do construtor. Bom ele server para inicializar o nosso objeto qdo criamos um objeto: new …
Um detalhe interessante é que toda classe possui no mínimo um construtor, mesmo que vc não defina um, neste caso o compilador irá cria r um construtor default sem parametros:
class Aluno {
//construtor default, não possui parametros
public Aluno() { }
}
Espero que tenha entendido.
O codigo contido no construtor eh executado no momento em que voce cria uma instancia da classe. Ou seja,
public class Teste {
public Teste() {
System.out.println("aaaa");
}
}
faca um programa que instancie Teste e veja que eh gerado o output… agora, se vc tirar o codigo do construtor, ou nao ter construtor algum, nada sera executado no momento da criacao.
“this” eh a referencia para a tua propria classe… Imagine que vc ta dentro da TUA casa e pede pro teu irmao pegar a cadeira… o que ele vai fazer? vai ir ate a sala e pegar a cadeira. Isso eh o “this”.
Agora, se vcs estivessem na rua e pedisse pro teu irmao pegar a cadeira, teria q dizer “meu, vai la e pega a cadeira da casa tal”… essa “casa tal” seria de onde ele iria buscar as coisas, ou seja a instancia do objeto.
Rafael