2
respostas

Duvida sobre Herança

Quando uma classe herda de outra, ela não recebe seus construtores automaticamente. Por que ?

2 respostas

Boa tarde Anselmo,

Na verdade, ela não pode receber construtores, pois recebe apenas seus atributos e metódos.

Obs: Lembre-se não tem herança de construtores.

TL;DR

Você só tem esse erro por que tem um construtor definido diferente do default.

Explicação mais especificada.

Ele até recebe seu construtor, mas apenas se o construtor for o Default, ou seja, o construtor vazio.

Em nível mais aprofundado, quando você tem um construtor padrão (ou então não declara o construtor e o Java já atribui por padrão um construtor vazio), por exemplo na classe Conta Corrente, ele vai tentar usar o construtor PADRÃO da classe Conta. Mas ele não vai encontrar ele lá, já que você definiu outro construtor. Logo, você precisa definir "o mesmo" construtor, na verdade apenas os mesmos parâmetros para que se possa usar o construtor de lá. A nível acadêmico, você pode pensar no construtor como um método que irá precisar dos parâmetros.