O método construtor de uma classe Java é um método especial, que tem o mesmo nome da classe e é executado quando a classe é instanciada. Em Java, é possível realizar sobrecarga de construtor. Assinale a alternativa que apresenta a definição correta de sobrecarga de construtor.
Questão
O método construtor de uma classe Java é um método especial, que tem o mesmo nome da classe e é executado quando a classe é instanciada. Em Java, é possível realizar sobrecarga de construtor. Assinale a alternativa que apresenta a definição correta de sobrecarga de construtor.
Alternativas
a) É possível criar vários métodos construtores, todos com os mesmos parâmetros.
b) É possível criar vários métodos construtores, todos com parâmetros diferentes.
c) É possível criar somente um método construtor e estender esse método por meio de herança.
d) É possível criar vários métodos construtores encapsulando os atributos no método.
e) É possível criar vários métodos construtores somente em superclasses.
Explicação
Em Java, sobrecarga (overload) de construtores ocorre quando uma mesma classe possui mais de um construtor, todos com o mesmo nome da classe, porém com assinaturas diferentes.
A assinatura de um construtor (ou método) é definida principalmente pela lista de parâmetros (quantidade, tipos e/ou ordem). Portanto, para haver sobrecarga, os construtores devem ter parâmetros diferentes entre si. Ex.: Classe() e Classe(int x) e Classe(String s, int x).
Analisando as alternativas:
- a) Incorreta: mesmos parâmetros → mesma assinatura → não caracteriza sobrecarga (geraria erro de compilação).
- b) Correta: vários construtores com parâmetros diferentes → isso é exatamente sobrecarga.
- c) Incorreta: construtor não é “estendido” por herança dessa forma; e não limita a apenas um.
- d) Incorreta: encapsulamento não define sobrecarga.
- e) Incorreta: sobrecarga pode existir em qualquer classe, não apenas em superclasses.
Alternativa correta: (b).