Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvidas exercício

Prezados, boa noite.

Não entendi muito bem o porque do código abaixo não compila.

```

class B { int x = 1; } class A extends B { static int x = 2; public static void main(String[] args) { System.out.println(new A().super.x); } }

A resposta dada no exercício (O código não compila: não faz sentido acessar o super de outro objeto que não eu mesmo.) não ficou clara para mim.

Obrigado

1 resposta
solução!

Boa noite Antonio, é assim, quando você chama super() vc está invocando um código da classe Pai. Se chamarmos

new A().super()

significa que dentro da classe A tem um método super static. Então na realidade devemos chamar super() dentro da implementação da classe A

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software