Ed
há 11 meses
Vamos analisar o código Java apresentado passo a passo. 1. Classe S1: É uma classe abstrata com dois atributos protegidos `x` e `y`, e um método `mostra()` que imprime "Prova". 2. Classe S2: Esta classe estende S1 e tem um atributo `y` (que é diferente do `y` da classe S1). O método `mostra()` da classe S2 faz o seguinte: - Atribui 10 ao `y` da classe S1 (`super.y = 10`). - Incrementa `x` em 1 (`++x`), que inicialmente é 10 (definido no `main`). - Imprime `x` e a soma de `y` (que é 6, definido no `main`) e `x`. 3. Execução no método main: - Um objeto `s` da classe S2 é criado. - `s.x` é definido como 10. - `s.y` é definido como 6. - O método `mostra()` é chamado. Agora, vamos calcular a saída: - `++x` incrementa `x` de 10 para 11. - `super.y` é definido como 10, mas `y` da classe S2 permanece 6. - A soma `y + x` será `6 + 11 = 17`. Portanto, a saída do método `mostra()` será: ``` x=11 e 17 ``` Assim, a alternativa correta é: (D) x= 11 e y= 17.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Mais perguntas desse material