Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir:
class B { private B() {} static B B(String s) { return new B(); } } class A extends B { public static void main(String[] args) { B b = B.B("t"); } } Alternativa correta Não compila. O código não compila pois não existe construtor de B ao qual A tenha acesso para herdar do mesmo.
** pergunta*
Não entendi: o código do exercício anterior é o mesmo e o construtor está privado da mesma forma. Porque no código anterior compilava e esse não compila? Em ambos os casos o construtor de B está privado, nao entendi o problema do acesso ao construtor...
* exercicio anterior que dizia que compilava
Escolha a opção adequada ao tentar compilar e rodar o arquivo a seguir:
class B { private B() {} static B B(String s) { return new B(); } } class A { public static void main(String[] args) { B b = B.B("t"); } } Alternativa correta Compila e não imprime nada.