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