O que acontece é o seguinte:
Quando vc passa o parâmetro, você não está realmente passando a Referência de “pos” e “flag”, vc est[á passando a cópia do padrão de bits de ambas… ou seja, vc está passando os valores 0 e false… Aí vc diz, mas os meus parâmetros se chamam pos e flag tbm… blz, mas vc caiu num erro que eu tbm caia pra KCTi no início, você ocultou sua variável de instância e agora pos e flag tbm existem dentro do seu método como 2 variáveis (completamente diferente das 2 criadas na sua classe) que irão receber os novos valores… Logo, o que ocorre com suas variáveis de instância é que elas não são alteradas, lembre, você só passou uma cópia do padrão de bits delas para seus métodos e não a variável em si…
tem 2 opções aí… a primeira foi a que o Thingol deu, só que com um método para cada variável, e a segunda é…
tenta assim:
public class Visualiza {
static int pos = 0;
static boolean flag = false;
public static void buscaPos() {
this.pos = 15;
this.flag = true;
}
public static void main(String[] args) {
buscaPos();
System.out.println("pos = " + pos + " flag = " + flag);
}
}
1 - coloque um tipo de retorno na frente do seu método public buscaPos()… método sem tipo de retorno o compilador vai ler como se fosse um construtor de classe…
2 - coloque nome de classes com a primeira letra em Maiuscula…
3 - coloque o identificador class na frente do nome de uma classe…
Dê uma estudada na forma que o Thingol lhe passou, pois é assim que vc vai usar 99,99% das vezes…
Falows 