O construtor default, pois no construtor Test(int j) não há nenhuma chamada explícita ao construtor da classe Base, logo, o compilador chama automaticamente o default. O construtor Base(int, int) também é necessário, pois é chamado por Test(int j, int k).
É isso?!
[]'s
wbsouza
correto
M
marcosalex
"
rafaelsantos1983
caiofilipini:
O construtor default, pois no construtor Test(int j) não há nenhuma chamada explícita ao construtor da classe Base, logo, o compilador chama automaticamente o default. O construtor Base(int, int) também é necessário, pois é chamado por Test(int j, int k).
É isso?!
[]'s
Exatamente como caiofilipini disse.
Respondendo a dúvida de marcosalex. O contrutor é Obrigatório, pq no 2º construtor da classe Test chama o super da classe Base, só que ele está chamando um contrutor em Base com dois argumentos, que nesse caso não existe.
Ou você está perguntando genericamente?
M
marcosalex
"
rmendes08
Pq quando vc implementa o construtor com dois argumentos, o compilador descarta o construtor default. Pelo seguinte: uma classe tem um construtor default fornecida pelo compilador. Se você fornece qualquer construtor, esse construtor default é descartado. Se você quer que ele ainda funcione, você precisa fornecê-lo explicitamente, nem que seja public Classe(){}.
maior_abandonado
então cara… todo metodo construtor, sem exceção, irá chamar o construtor da classe pai…exceto o de object q não tem classe pai…
a primeira linha de um construtor sempre terá uma chamada a super, chamando o construtor da classe pai, caso o programador coloque essa chamada com ou sem parametros, será chamado o construtor pai da forma como ele escreveu.
se não for criada essa linha chamando o construtor pai, ao compilar, é adicionado um super() (sem argumentos mesmo, coloquei os parenteses de proposito)… e se a classe pai não tiver um construtor sem argumentos recebidos, o código da classe filha não compila a menso que o programador dela crie um construtor pra ela e chame nesse construtor, o construtor existente do pai da forma correta
maior_abandonado
então cara… todo metodo construtor, sem exceção, irá chamar o construtor da classe pai…exceto o de object q não tem classe pai…
a primeira linha de um construtor sempre terá uma chamada a super, chamando o construtor da classe pai, caso o programador coloque essa chamada com ou sem parametros, será chamado o construtor pai da forma como ele escreveu.
se não for criada essa linha chamando o construtor pai, ao compilar, é adicionado um super() (sem argumentos mesmo, coloquei os parenteses de proposito)… e se a classe pai não tiver um construtor sem argumentos recebidos, o código da classe filha não compila a menso que o programador dela crie um construtor pra ela e chame nesse construtor, o construtor existente do pai da forma correta
M
marcosalex
"
Marcio_Nogueira
O construtor possibilita instanciar a classe, ou seja, criar um objeto em memória (heap) desta classe.