Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 3 da Aula 5 - Crie e sobrecarregue construtores

Não entendi pq o código compila nesse caso, pensei q a classe B teria que estender a classe A, para passar como parâmetro um objeto do tipo A.

class B { B(A a) {} B() {} }
class C { C(B b) {} C() {} }
class A {
    public static void main(String[] args) {
        new A(); new B(); new C();
    }
}
2 respostas
solução!

Priscila, Bom dia !!

a classe compila , porque tanto nas classe B quanto na C , elas possibilitam passar no construtor o parâmetro como também podemos chamar construtor vazios .

repare que nas duas classes possuem B(){} e na C tem C(){}

a classe A está utilizando o construtor padrão .

espero ter ajudado, Bons estudos

Priscila,

Não háveria o porque da necessidade disso, porque está passando como parametro no construtor, seria como passar/implementar qualquer outro objeto, nesse caso, como as três classes estão em um mesmo arquivo, nem importar é necessário.

E compila porque existe o construtor vazio além do outro com parametro.