Considere o código a seguir, escrito na linguagem de program...

Próximas questões
Com base no mesmo assunto
Q75710 Programação
Considere o código a seguir, escrito na linguagem de programação JAVA.

Imagem 003.jpg

Após a sua execução, o resultado apresentado será:
Alternativas

Comentários

Veja os comentários dos nossos alunos

Letra A
O método testing retorna 0123 e salva seu último valor na memória.
O método testing2 incrementa 3(do testing) + 1(i++) e retorna o valor 4.
O atributo i é estático e inicializado com 0 (nem precisava pois é o default).

O método go() é estático. Imprime o conteúdo do atributo i e incrementa (++).

As 4 chamadas ao método go() através de novas instâncias de classes não produzem o mesmo resultado, pois o atributo é estático.

O método go2 invoca um método da inner class TestingIntern (que tenta parecer um Runnable) que nada mais faz do que o mesmo que o método go() da classe Testing.

Assim o resultado final impresso no console é: 0,1,2,3,4

funciona em java vc chamar método estático de instância? testei em c# e o código nem compilou

Leandro, sim, funciona perfeitamente em Java. É possível chamar o método estático pela instância (new Testing().go()) ou pela classe (Testing.go()), embora o mais correto seja o segundo (as IDEs geralmente mostram avisos no primeiro caso).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo