Métodos estáticos

Não entendo… Alguém pode me explicar?
Talvez com um exemplo de código…
O que são e pra que servem os métodos estáticos?

Membros estáticos (campos/métodos) são membros compartilhados por todos os objetos de uma classe. Através deles você pode definir “o estado da classe” em contrapartida ao estado de um objeto específico. Imagine um jogo de ação por exemplo, onde temos uma classe monstro:

class Monstro{
  private int forca;
  private int escudo;

  public Monstro( int f , int e ){
    forca = f;
    escudo = e;
  }
}

Nesse caso, forca e escudo são atributos de um monstro específico, se quisermos contar o número de monstros no jogo e manter essa informação na própria classe Monstro podemos fazer assim:

class Monstro{
  private int forca;
  private int escudo;

  private static int numMonstros;

  public Monstro( int f , int e ){
    forca = f;
    escudo = e;
    numMonstros++;
  }
}

Bom Cake,

tem um artigo muito bom aqui no forúm do Rafael Steil, acho que vai lhe ajudar a compreender o uso da palavra chave Static.

http://www.guj.com.br/article.show.logic?id=121

espero ter ajudado. :smiley: