EXPLICAÇÃO DE STATIC: ACHO QUE VAI AJUDAR:
Primeiro precisa entender o seguinte. Static é a mesma coisa que “de classe”, e não “de objeto”. Uma classe pode ter vários objetos. Por exemplo: Carro vectra = new Carro(); Carro palio = new Carro();
Aqui temos apenas uma classe: “Carro” Mas temos dois objetos: “vectra” e “palio”
Agora que já sabe a diferença entre classe e objeto, fica mais fácil. Static é “de classe”, ou seja, uma variável static da classe Carro teria o mesmo valor para qualquer objeto (vectra, palio, fusca, ferrari…). Tanto que você nem precisa criar objetos pra acessa-las. Ela é usada geralmente para contadores.