Gabarito disponível
class Tamandare {
public Integer ALPHA = 1;
public static Integer BRAVO = 2;
public Integer CHARLIE = 3;
// Os métodos se encontram propositalmente omitidos do código
public void main(String[] args) {
Tamandare t = new Tamandare();
System.out.println(t.func1(3) + Tamandare.func2(8) + t.func3(3.14));
}
}
Sabe-se que não houve erro no código na chamada à classe "Tamandaré" e a seus métodos em main. Sabe-se, também, que func1, func2 e func3 foram definidas apenas uma vez na classe. Assim, de acordo com os dados, é correto afirmar que:
Resolução comentada
Um método estático (func2) não tem acesso a this.
func2 é chamado como Tamandare.func2(8), portanto é estático. Dentro de método estático não existe this, e usar this.CHARLIE gera erro de compilação.
Análise das alternativas
A) Nada indica que func1 independa de variáveis de instância. B) func2 é estático, então a assinatura sem static não serve. D) Não há garantia sobre a ordem de carregamento das definições de métodos. E) Variáveis estáticas, como BRAVO, são inicializadas na carga da classe, antes das de instância, como ALPHA.
Referência: Java: membros estáticos e de instância.
Resolução comentada do VaiConcursos.