Επίσης να προσθέσω σε αυτά που είπε ο Μάριος, πως αν μια κλάση στην Java έχει υλοποίηση ενός constructor με παραμέτρους θα πρέπει να γίνει υλοποίηση και ενος constructor χώρις παραμέτρους αν θες να δημιουργείς αντικείμενα της κλάσης με προεπιλεγμένες τιμές για τις μεταβλητές της κλάσης.
Αν δεν υπήρχε κανένας constructor τότε η JVM θα έκανε κλίση του default constructor που θα είχε σαν συνέπεια να θέτει μια προεπιλεγμένη τιμή σε κάθε μεταβλητή της κλάσης σου. Συγκεκριμένα για κλάσεις είναι null ( π.χ. String) για boolean false και για τους παρακάτω τύπους (int, short, byte, char, long, float, double) την τιμή 0.