Olá Natália,
qualquer membro marcado com este modificador significa que ele pertence à classe e não à uma instância da classe.
Execute esse exemplo e veja como funciona:
public class StaticTeste {
static int valor = 0;
int _valor = 0;
public static void main(String[] args) {
StaticTeste obj1 = new StaticTeste();
System.out.println("Valor marcado como static: " + obj1.valor++);
System.out.println("Valor marcado sem static: " + obj1._valor++);
StaticTeste obj2 = new StaticTeste();
System.out.println("Valor marcado como static: " + obj2.valor++);
System.out.println("Valor marcado sem static: " + obj2._valor++); }
}
Sendo assim, com o modificador static fará com que para cada objeto da classe criado, compartilhem o mesmo valor. Caso não exista o modificador, ao criar um novo objeto, a variável de instância terá o seu próprio valor não compartilhado com nenhum outro objeto.
Quando você possui um método marcado com este modificador ou uma variável de instância, você poderá acessá-los através do nome da classe seguido pelo membro que se quer acessar. Por exemplo:
Isso porque, como dito, o membro pertence à classe e não à uma instância, sendo assim não é necessário instanciar um objeto da classe para acessar os tais membros.
Abs.