Pergunta

O que são métodos estáticos?

Resposta

São métodos associados diretamente a uma classe e não a suas instâncias, isto é, existem independentente de objeto da classe.

Para usar métodos estáticos não é necessário declara ou instanciar um objeto, bastando utilizá-lo diretamente como abaixo.

// Classe MathUtils.java
public class MathUtils {
  // método comum
  public int soma1 (int a, int b) {
    return (a + b);
  }
  // método estático
  public static int soma2(int a, int b) {
    return (a + b);
  }
}

Embora a implementação dos métodos soma1 e soma2 sejam idênticas, o segundo é um método estático. Para utilizar soma1 devemos fazê-lo através de um objeto, ou seja, instanciando um objeto da classe MathUtils:

MathUtils o = new MathUtils();
int resultado = o.soma1(2, 3);
System.out.println("Resultado = "+resultado);

O uso soma2 não requer um objeto, ou seja, pode ser feito diretamente referenciando a classe MathUtils:

int resultado = MathUtils.soma2(2, 3);
System.out.println("Resultado = "+resultado);

Concluindo, os métodos estáticos são simples de declarar e usar oferecendo acesso conveniente a operações que não dependem de outros valores contidos em objetos de suas classes.