Durante Meus estudos de Java vi muita gente chamando Construtor de método, e muita gente pistola, por que segundo eles construtor não é método! To precisando de uma definição descente de construtor.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Durante Meus estudos de Java vi muita gente chamando Construtor de método, e muita gente pistola, por que segundo eles construtor não é método! To precisando de uma definição descente de construtor.
Considerando que método significa algo do tipo "a forma de como fazer alguma coisa", essa pergunta fica difícil, mas vamos lá.
O construtor não é herdado, mesmo sendo public, o construtor não pode usar alguns modificadores que se aplicam a métodos como final, o construtor não possui retorno, etc. O construtor seria um bloco de inicialização, já um método pode ser chamado a qualquer momento, pode conter ou não algum tipo de retorno, e o construtor só é chamado na criação de um objeto e não contém retorno nenhum.
Oi Maryucha, tudo bem?
Um Construtor não é um método. Porém, devido à similaridade na forma como ambos funcionam, é comum encontrar pessoas e sites definindo um Construtor como um método especial, já que ele funciona como um método que é chamado e executado apenas uma vez no momento em que ocorre a instancia de um objeto.
Bom, vamos lá. Por que um Construtor não é um método? Existem quatro diferenças principais entre eles:
O Construtor não tem um tipo de retorno, ou seja, ele não retorna int, char, double, nem mesmo void. Ele apenas executa o bloco de código que foi escrito dentro dele;
O nome de um construtor deve ser o mesmo da classe;
Diferente dos métodos, construtores não são considerados membros da classe. Mais para frente nesse mesmo curso, será introduzido o conceito de herança, onde, basicamente uma classe B que herda de uma outra classe A, recebe todos os atributos e métodos (membros da classe), porém ela não recebe/herda o Construtor já que, tecnicamente, ele não é um método.
O que eu falei no começo, ele é um funciona como um "método", porém ele é chamado, automaticamente, apenas uma vez na instância de um objeto. Diferente de métodos comuns que podem ser chamados diretamente a qualquer momento no programa.
Espero ter ajudado. Se ficou qualquer dúvida é só avisar, estamos à sua disposição!
Bons estudos!!
Felipe e Thiago, Muito obrigada pelo esclarecimento, foram informações bastante esclarecedoras. Gratidão.