A saída será: 10
40
e não: 20
40
como esperado, isso acontece porque uma cópia do valor de i é passada para o método então o valor (conteúdo) da variavel i não é alterado. Por outro lado j tem seu valor alterado porque é uma variavel estática (também chamada de variavel de classe) e qualquer alteração na mesma será refletido em qualquer instância da classe que tentar acessa-lá.
Entendeu?
{}-s
Grinvon
Exato, é como Vinícios falou. Apenas a cópia da variável local é passado para o método solicitado, portanto quando o método é finalizado o valor não retornando para o main().
E como i é uma variável estática, então ela irá mudar o valor, em qualquer parte do código que esteja. Diferentimente aconteceria se ao invés de ser passado um tipo primitivo fosse um objeto.
K
Kabaldf
Questão bbbeeemmm tipica de certificação… Mas isso ai vai complicar um pouco mais qndo for com objetos, ai vc vai que tem alguns que vão fazer algo mais ou menos assim, como as String
Se não prestar atençao da para dancar legal!