esiste un sistema per creare dei metodi dentro ad una classe a cui é possibile accedere direttamente senza dover ogni creare un oggetto della classe e poi applicare il metodo, ma direttamente richiamandolo semplicemente con il nome della classe
di queste classi non di creeranno oggetti ma verranno richiamati i metodi direttamente.
questo fa si che non ci saranno oggetti diversi in memoria con metodi con stesso nome indipendenti ma solo uno singolo

sintassi:
public static tipo_valore NOME(....) il metodo deve essere pubblico
{

....;
}



esempio: il metodo Quadrato é accessibile direttamente senza creare l'oggetto della classe Matematica
public class Matematica
{

public static int Quadrato(int N)
{
return N * N;
}
}

int q = Matematica.Quadrato(5); assegno il valore direttamente
la variabile q assumerà il valore 25 direttamente dalla calsse Matematica


invece con un metodo non static in una classi con costruttore:
public class Matematica
{
public int Quadrato(int N)
{
return N * N;
}
}

Matematica oggetto = new Matematica(25); creo oggetto
int q = oggetto.Quadrato; assegno il valore