static indica que un miembro pertenece a la clase y no a un objeto concreto.

Variable static

public class Juego
{
    public static int puntuacion = 0;
}

Se accede usando el nombre de la clase:

Juego.puntuacion += 10;

No hace falta crear:

new Juego();

Método static

public static int Sumar(int a, int b)
{
    return a + b;
}

Uso:

int resultado = Calculadora.Sumar(5, 3);

Miembros normales

Un miembro normal pertenece a cada objeto.

public class Jugador
{
    public int vida = 100;
}

Cada jugador puede tener una vida diferente.


Miembros static

Un miembro static es compartido.