Quasi:
in C/C++
in un dichiarazione del tipo (al di fuori di struct/class):
static void f() { }
static int i = 0;
la funzione "f" (la variabile i) e' visibile SOLO nel sorgente che la contiene (il simbolo non sara' visibile dal linked, ma solo dal compilatore).
In Java questa sintassi non ha senso.
In una dichiarazione del tipo (sempre in C++):
class C
{
static int f;
static void m() { }
}
il significato e' lo stesso di quello in Java: il field "f" ed il metodo "m" sono di proprieta' della "classe" e non "dell'istanza" (cioe' esistera' un'unica istanza di quel metodo e/o di quel field, condivisa con tutte le istanze di quella classe)