Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

CONSTRUTOR É MÉTODO OU NÃO?

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.

3 respostas

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.

solução

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:

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

  2. O nome de um construtor deve ser o mesmo da classe;

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

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