Considere o código a seguir, escrito na linguagem de program...
Após a sua execução, o resultado apresentado será:
Comentários
Veja os comentários dos nossos alunos
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 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