Gabarito disponível
public class Somador
{
public final int numero = 0;
public static int inteiro = 0;
public static void soma (int parametro)
{
Somador.inteiro = parametro + Somador.inteiro;
}
public int adicionaUm(int parametro)
{
return parametro +1;
}
public static void main(String[] args)
{
Somador somador = new Somador();
//local de alteração
System.out.printf("%d", Somador.inteiro );
}
}
Analise a opção que poderá substituir o texto "//local de alteração", presente no código acima, para que seja exibido o número 1 ao ser executado.
Resolução comentada
Chamar o método estático soma passando o resultado de adicionaUm(numero) altera inteiro para 1.
Em B, somador.adicionaUm(somador.numero) retorna 0+1 = 1, e Somador.soma(1) faz inteiro = 1 + 0 = 1. O printf então exibe 1.
Análise das alternativas
A) Errada: adicionaUm não é estático e não pode ser chamado por Somador, e soma retorna void. C) Errada: numero é final (não pode receber atribuição) e não é estático, e soma retorna void. D) Errada: soma retorna void, então não pode ser atribuído a inteiro. E) Errada: o retorno de adicionaUm é descartado e inteiro continua 0.
Referência: Java — membros estáticos, de instância e final.
Resolução comentada do VaiConcursos.