Όχι, οι κατασκευαστές μπορούν να είναι δημόσιοι, ιδιωτικοί, προστατευμένοι ή προεπιλεγμένοι (κανένας τροποποιητής πρόσβασης). Το να κάνετε κάτι ιδιωτικό δεν σημαίνει ότι κανείς δεν μπορεί να έχει πρόσβαση σε αυτό. Σημαίνει απλώς ότι κανείς εκτός της τάξης δεν μπορεί να έχει πρόσβαση σε αυτό. Επομένως, ο ιδιωτικός κατασκευαστής είναι επίσης χρήσιμος.
Μπορούν οι κατασκευαστές να είναι ιδιωτικοί στην Java;
Ένας ιδιωτικός κατασκευαστής στην Java χρησιμοποιείται για τον περιορισμό της δημιουργίας αντικειμένων. Είναι ένας κατασκευαστής ειδικής παρουσίας που χρησιμοποιείται σε κλάσεις μόνο στατικά μέλη. Εάν ένας κατασκευαστής δηλωθεί ως ιδιωτικός, τότε τα αντικείμενά του είναι προσβάσιμα μόνο μέσα από τη δηλωμένη κλάση. Δεν μπορείτε να αποκτήσετε πρόσβαση στα αντικείμενά του εκτός της κλάσης κατασκευαστή.
Είναι οι προεπιλεγμένες κατασκευαστές ιδιωτικές ή δημόσιες;
Στην C++, ο κατασκευαστής καλείται αυτόματα όταν δημιουργείται το αντικείμενο μιας κλάσης. Από προεπιλογή, οι κατασκευαστές ορίζονται στο δημόσιο τμήμα της κλάσης.
Γιατί δηλώνουμε γενικά τον κατασκευαστή ως δημόσιο μέλος στην Java;
Ο δημόσιος κατασκευαστής σημαίνει επίσης μπορεί να είναι προσβάσιμος εκτός της κλάσης Η άλλη κλάση μπορεί επίσης να τα πάρει με απλό τρόπο, ωστόσο, αν κάνουμε τον κατασκευαστή ως ιδιωτικό, δεν είναι προσβάσιμη εκτός τάξης. Επίσης, κάνουμε τον κατασκευαστή τον κατασκευαστή ως δημόσιο για την προετοιμασία της κλάσης σε οποιοδήποτε σημείο του προγράμματος.
Πώς μπορώ να κάνω δημόσιο τον κατασκευαστή μου;
Κάντε τον κατασκευαστή δημόσιο εάν επιτρέψετε στον κώδικα πελάτη σας εκτός του πακέτου να δημιουργήσει το αντικείμενό σας. Εάν δεν το κάνετεθέλετε αυτό (επειδή το αντικείμενο είναι συγκεκριμένο πακέτο ή το ίδιο το αντικείμενο δεν μπορεί να δημιουργηθεί απευθείας) use package-private.