Junior — Middle
Μπορεί να οριστούν πολλαπλοί κατασκευαστές με την ίδια υπογραφή σε μια κλάση;
sobes.tech AI
Απάντηση από AI
Όχι, στη Java δεν είναι δυνατόν να οριστούν πολλαπλοί κατασκευαστές με την ίδια υπογραφή σε μια κλάση.
Η υπογραφή του κατασκευαστή περιλαμβάνει τους τύπους και τη σειρά των παραμέτρων. Αν δύο κατασκευαστές έχουν τους ίδιους τύπους παραμέτρων με την ίδια σειρά, ο μεταγλωττιστής θα εμφανίσει σφάλμα λόγω ασάφειας.
Για παράδειγμα, ο ακόλουθος κώδικας θα προκαλέσει σφάλμα:
public class Example {
public Example(int a, String b) {}
public Example(int x, String y) {} // Σφάλμα: διπλή υπογραφή
}
Για την υπερφόρτωση κατασκευαστών, οι υπογραφές τους πρέπει να διαφέρουν στον αριθμό ή στους τύπους των παραμέτρων.