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.
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.