perdonatemi il titolo non sò dare un titolo al problema 
se serve vi allego tutte le classi, il problema è qui:
codice:
class usoListaNodi{
public static void main (String [] args){
ListaNodi list1 = new ListaNodi();
ListaNodi list2 = new ListaNodi();
list1.InsertHead(1);
list1.InsertHead(2);
list1.InsertHead(3);
list2.printAll();----> e non capisco perché mi stampa il contenuto di list2 (che dovrebbe essere vuoto) è come se non fossero 2 oggetti differenti
ma se stampo list1 e list2 mi da 2 indirizzi differenti..
se riuscite a risolvere vi ringrazio!! anche se (forse sono pessimista) non credo che troverò il problema