Μία από τις σημαντικές ιδιότητες του java constructor είναι ότι δεν μπορεί να είναι στατικό. … Ένας κατασκευαστής καλείται όταν δημιουργείται ένα αντικείμενο μιας κλάσης, επομένως δεν χρησιμοποιείται ο στατικός κατασκευαστής. Ένα άλλο πράγμα είναι ότι αν δηλώσουμε στατικό κατασκευαστή τότε δεν μπορούμε να προσπελάσουμε/καλέσουμε τον κατασκευαστή από μια υποκλάση.
Τι συμβαίνει εάν ο κατασκευαστής είναι στατικός;
Αν δηλώσουμε έναν κατασκευαστή ως στατικό, τότε δεν μπορεί να προσπελαστεί από τις υποκλάσεις του και θα ανήκει σε επίπεδο κλάσης μόνο. Το πρόγραμμα δεν θα μεταγλωττιστεί και θα εμφανίσει σφάλμα χρόνου μεταγλώττισης. Ας το καταλάβουμε με ένα παράδειγμα: StaticConstructorExample.
Μπορεί ο κατασκευαστής να είναι ιδιωτικός ή στατικός;
Ναι, μπορούμε να δηλώσουμε έναν κατασκευαστή ως ιδιωτικό. Εάν δηλώσουμε έναν κατασκευαστή ως ιδιωτικό, δεν μπορούμε να δημιουργήσουμε ένα αντικείμενο μιας κλάσης. Μπορούμε να χρησιμοποιήσουμε αυτόν τον ιδιωτικό κατασκευαστή στο μοτίβο σχεδίασης Singleton.
Μπορούμε να κάνουμε τον κατασκευαστή στατικό στο CPP;
C++ δεν έχει στατικό κατασκευαστή. Αλλά ένας στατικός κατασκευαστής μπορεί να εξομοιωθεί χρησιμοποιώντας μια κλάση φίλου ή ένθετη κλάση όπως παρακάτω.
Μπορεί ένας κατασκευαστής να είναι τελικός;
Όχι, ένας κατασκευαστής δεν μπορεί να γίνει τελικός. Μια τελική μέθοδος δεν μπορεί να παρακαμφθεί από καμία υποκλάση. … Αλλά, στην υποκλάση κληρονομικότητας κληρονομεί τα μέλη μιας υπερκλάσης εκτός από τους κατασκευαστές. Με άλλα λόγια, οι κατασκευαστές δεν μπορούν να κληρονομηθούν στην Java, επομένως δεν χρειάζεται να γραφτεί το τελικό πρινκατασκευαστές.