Java fa una distinzione netta tra classi e tipi primitivi, relativamente al modo in cui avviene l’allocazione in memoria. Fondamentalmente, quando si dichiara una variabile del tipo:
vengono subito allocati quattro byte per conservare il dato intero. Invece, se si utilizza una classe in qualità di tipo per una certa variabile, come ad esempio:
MyClass c;
in questo caso verrà creata subito una variabile che referenzia l’oggetto (reference new