Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Variável deixa de ser static

Olá! Eu tenho uma dúvida a respeito do último exercício. No caso do código abaixo, por mais que o valor da variável i seja redefinida no método main, ela perde também seu comportamento static dentro do for?

class Teste {
    static int i = 3;

    public static void main(String[] a) {
        for (new Teste().i = 10; new Teste().i < 100;
             new Teste().i++) {
            System.out.println(i);
        }
    }
}
2 respostas
solução!

No seu exemplo, i continua sendo estático. Esse exemplo está demonstrando que não importa se vc está criando novas instâncias de Teste (new Teste()) , a variável estática continuará sendo compartilhada entre as instâncias.

Esse código é compatível a:

        for (Teste.i = 10; Teste.i < 100;Teste.i++) {
            System.out.println(i);
        }

Entendi! Obrigado, Allan!