variabile

viene inserita la parola static nella dichiarazione della variabile
modificatore_accesso static tipo_valore NOMEVARIABILE = valore



mentre per le variabili globali di istanza viene allocata una nuova locazione di memoria per ogni istanza di una classe
per le variabili statiche esiste una unica locazione di memoria legata alla classe e non associata ad ogni singola istanza
la variabile quindi vive, cioè mantiene occupata la memoria e continua a mantenere il suo valore, fino al termine del programma
serve quindi per poter facilmente passare valori da un oggetto all'altro, le classi dei vari oggetti avranno la variabile con stesso valore

esempio: richiamo il valore si una variabile static txt della classe Data dalla classe Multi
public class Multi
{

public static void main(String[] args)
{
System.out.println(Data.txt);
}
}

public class Data
{
static String txt = "Ciao mondo";
}





metodo

i metodi statici possono essere richiamati senza bisogno di creare un oggetto della classe ma semplicemente indicandola
classe.metodo()

in questa maniera non sarà possibile creare più oggetti con stesso metodo, ma solo richiamare il metodo singolarmente

esempio: richiamo un metodo static da un'altra classe
nel mein della classi Multi richiamo il metodo test della classe Data

public class Multi
{

public static void main(String[] args)
{
Data.test("Ciao Mondo"); richiamo il metodo text in Data passando un parametro
}
}


public class Data
{
static void test(String parametro) metodo static
{
System.out.println(parametro);
}
}

Ciao Mondo





classe

possibile solo per classi tipo inner
la inner class può a tutti gli effetti essere considerata equivalente ad una classe regolare che solo per motivi stilistici o di comodità è stata definita all’interno di un’altra classe