Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

horacio2009

construtor em java é obrigatório?

Recommended Posts

bom dia a todos!!!

galera, fiquei com uma dúvida recentemente(estava afastado do java, mas agora, retornei!!!)

um construtor é obrigatório numa classe?

eu fiz umas classes sem construtores e fucnionou corretamente...a conclusão é que não necessito de um construtor na classe, mas eu quero saber a opinião de vocês que sabem bem mais que eu!!!

Valeu a força, galera!!

obrigad pela atenção!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Toda classe Java precisa ter pelo menos um construtor.

Isso não significa que você precisa criar um construtor, se você não o fizer, o compilador irá criá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Toda classe Java precisa ter pelo menos um construtor.

Isso não significa que você precisa criar um construtor, se você não o fizer, o compilador irá criá-lo.

 

Exatamente .. visto que isso não é perda de processamento na hora de compilar o código, pelo menos eu acho .. afinal na hora de executar, o código já vai estar compilado com o construtor lá dentro, então .. nada muda =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Toda classe Java precisa ter pelo menos um construtor.

Isso não significa que você precisa criar um construtor, se você não o fizer, o compilador irá criá-lo.

 

Há controvérsias. Há situações em que você pode herdar de uma classe onde tenha sido declarado um construtor não padrão. Nesse caso você é obrigado a escrever o seu construtor na subclasse.

Ex.:

public class Pai {
  public Pai(Object obj) {
     // ...
  }

  // ... código
}

 

Errado

public class Filho extends Pai {
  // ... Sem construtor
}

 

Errado

public class Filho extends Pai {
  public Filho() {

  }
}

 

Correto

public class Filho extends Pai {
  public Filho() {
     super(null);
  }
}

 

Isso acontece porque toda classe filha (subclasse) chama implicitamente o construtor da classe pai (superclasse). Quando a classe pai tem um construtor padrão essa chamada é feita de forma transparente. Todavia se a classe pai não tem um construtor padrão, suas filhas terão que chamar o construtor da superclasse de forma explícita.

 

Resumindo, as respostas acima estão corretas, entretanto há também casos onde você deve escrever um construtor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O construtor em si é obrigatório. (senão ia ser impossível dar new SuaClasse() )

 

Mas nem sempre você precisa declarar tal construtor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.