Como chamar o construtor de uma classe a partir de um método qualquer da mesma classe ?
Como chamar o construtor de uma classe a partir de um método qualquer da mesma classe ?
Oi Marcelo, tudo bom?
Perceba que para que o método esteja disponivel, você precisa chamar o construtor antes. Não é possivel chamar o construtor dentro do método.
Abraço!
Bons estudos.
Bom dia Marcelo,
Na realidade nem faz sentido fazer isso. O Construtor é o responsável por instanciar um Classe, devolvendo em tempo de execução um objeto representando aquela estrutura.
Ou seja, você estará em outra classe, em outro método, e dentro dele vai precisar este objeto, ai usará o construtor daquela classe. E a partir deste objeto poderá utilizar os atributos e comportamentos dele.
Espero que tenha ficado claro.
Abraços.
Então, mano. Depois de o objeto ter sido instanciado, não é possível fazer algo como:
void metodoQualquer() {
this();
}
Obrigado.
O comando this servirá para referenciar coisas da própria classe, e principalmente usado em situações como os métodos setters:
private String nome;
public void setNome(String nome) {
this.nome = nome;
}
O this aqui é usado para deixar claro que a atribuição do parâmetro nome vai para o atributo nome deste objeto. Isso só é necessário porque ambos tem o mesmo nome. Se fosse:
private String nome;
public void setNome(String nomePessoa) {
nome = nomePessoa;
}
Nem precisaria usar o this. Dentro de um objeto do tipo Pessoa por exemplo, em um método dele, não faz sentido querer chamar o construtor dele novamente.
Várias pessoas que precisassem ser criadas ainda assim seria feito fora de um método da classe Pessoa.
Você pode chamar o construtor da própria classe a partir de um método estático, lembrando que toda vez que você chamar o construtor estará criando um novo objeto.
public class Teste{
public void static chamaConstrutor(){
//chama o construtor da classe.
new Teste();
}
}
O this é uma referência para o objeto da classe atual, você pode chamar this.atributo ou this.método, mas não pode chamar this();
Obrigado por todos os feedbacks.