1) La differenza e' che il secondo compila e il primo no. Oddio, almeno credo...
2) No, anzi...
3) ...Il costruttore senza parametri in Java si chiama "costruttore di default"
4) In C++ mi pare di no. In Java lo si fa utilizzando la parola chiave this