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

Duvida exercicio 3

Pessoal, Bom Dia

Li todas duvidas, mas infelizmente nao esta claro pra mim, posso resumir que o codigo compilou e rodou pq estava fem outro escopo? E com isso desconsidero o static int i = 3; .

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);
        }
    }
}
`

obrigado

2 respostas
solução!

Olá Everton, tudo bem?

Compilou pois não tem nenhuma regra sendo violada no código,

o acesso à variável estática pode ser feito através da instância da classe, exemplo:

Teste referencia = new Teste();
System.out.println(referencia.i);

ou diretamente caso seja uma variável estática sendo acessada por um método estático, exemplo:

System.out.println(Teste.i);

Obrigado Otavio