Βίντεο: Μπορεί μια τάξη να έχει κατασκευαστή;
2024 Συγγραφέας: Lynn Donovan | [email protected]. Τελευταία τροποποίηση: 2023-12-15 23:45
Είναι δυνατό για α τάξη προς το έχω όχι κατασκευαστής . (Μια σημαντική διάκριση που πρέπει να κάνουμε εδώ είναι ότι το JVM κάνει δεν απαιτούν όλα τάξη αρχεία σε έχουν κατασκευαστή ; ωστόσο, οποιαδήποτε τάξη ορίζεται σε Java έχει μια προεπιλογή κατασκευαστής αν ένα κατασκευαστής δεν δηλώνεται ρητά.
Επομένως, μια τάξη πρέπει να έχει κατασκευαστή;
Η Java δεν απαιτεί α κατασκευαστής όταν δημιουργούμε ένα τάξη . Ο μεταγλωττιστής παρέχει αυτόματα ένα δημόσιο μη επιχείρημα κατασκευαστής για κάθε τάξη χωρίς κατασκευαστές . Αυτό ονομάζεται προεπιλογή κατασκευαστής . Αν εμείς κάνω δηλώνω ρητά α κατασκευαστής οποιασδήποτε μορφής, τότε αυτή η αυτόματη εισαγωγή από τον μεταγλωττιστή δεν θα πραγματοποιηθεί.
Εκτός από τα παραπάνω, τι θα συμβεί αν δεν γράψουμε κανέναν κατασκευαστή στην τάξη; Απάντηση: Java δεν απαιτούν πραγματικά μια ρητή κατασκευαστής στην τάξη περιγραφή. Αν εσείς μην περιλαμβάνω ένας κατασκευαστής , θα δημιουργήσει ο μεταγλωττιστής Java ένα Προκαθορισμένο κατασκευαστής στον κώδικα byte με ένα κενό όρισμα.
Σε σχέση με αυτό, πόσους κατασκευαστές μπορεί να έχει μια τάξη;
Εσείς μπορώ να έχω 65535 κατασκευαστές σε ένα τάξη (Σύμφωνα με τα έγγραφα της Oracle). Αλλά ΣΗΜΑΝΤΙΚΟ να το έχετε αυτό στο μυαλό σας. Αυτό το πετυχαίνουμε μόνο με ΚΑΤΑΣΚΕΥΑΣΤΗΣ ΥΠΕΡΦΟΡΤΩΣΗ (https://beginnersbook.com/2013/05/ κατασκευαστής -υπερφόρτωση/). Εσείς μπορώ δημιουργώ πολλούς κατασκευαστές αλλά με διαφορετικός υπογραφές.
Μπορεί μια κλάση να μην έχει κατασκευαστή C++;
Αν σας η κλάση δεν έχει κατασκευαστές , Η C++ θα δημιουργεί αυτόματα μια δημόσια προεπιλογή κατασκευαστής για σενα. Αυτό μερικές φορές ονομάζεται σιωπηρό κατασκευαστής (ή δημιουργείται σιωπηρά κατασκευαστής ).
Συνιστάται:
Μπορεί η αφηρημένη κλάση να έχει κατασκευαστή;
Ναι, μια αφηρημένη κλάση μπορεί να έχει έναν κατασκευαστή στην Java. Μπορείτε είτε να παρέχετε ρητά έναν κατασκευαστή στην κλάση αφηρημένης ή αν δεν το κάνετε, ο μεταγλωττιστής θα προσθέσει προεπιλεγμένο κατασκευαστή χωρίς όρισμα στην αφηρημένη κλάση. Αυτό ισχύει για όλες τις τάξεις και ισχύει επίσης για μια αφηρημένη τάξη
Μπορεί η αφηρημένη τάξη Java να έχει κατασκευαστή;
Ναι, μια αφηρημένη κλάση μπορεί να έχει έναν κατασκευαστή στην Java. Μπορείτε είτε να παρέχετε ρητά έναν κατασκευαστή στην κλάση αφηρημένης ή αν δεν το κάνετε, ο μεταγλωττιστής θα προσθέσει προεπιλεγμένο κατασκευαστή χωρίς όρισμα στην αφηρημένη κλάση. Αυτό ισχύει για όλες τις τάξεις και ισχύει επίσης για μια αφηρημένη τάξη
Μπορεί μια υποκλάση να καλέσει τον κατασκευαστή της γονικής κλάσης;
Όχι, μια υποκλάση δεν μπορεί να κληρονομήσει τους κατασκευαστές της υπερκλάσης της. Οι κατασκευαστές είναι μέλη ειδικής συνάρτησης μιας κλάσης δεδομένου ότι δεν κληρονομούνται από την υποκλάση. Οι κατασκευαστές χρησιμοποιούνται για να δώσουν μια έγκυρη κατάσταση για ένα αντικείμενο κατά τη δημιουργία
Μπορεί μια κλάση με ιδιωτικό κατασκευαστή να κληρονομηθεί στην Java;
5 Απαντήσεις. Η Java δεν εμποδίζει την υποκατηγορία κλάσεων με ιδιωτικούς κατασκευαστές. Αυτό που αποτρέπει είναι υπο-κλάσεις που δεν μπορούν να έχουν πρόσβαση σε κανέναν κατασκευαστή της super class του. Αυτό σημαίνει ότι ένας ιδιωτικός κατασκευαστής δεν μπορεί να χρησιμοποιηθεί σε άλλο αρχείο κλάσης και ένας τοπικός κατασκευαστής πακέτου δεν μπορεί να χρησιμοποιηθεί σε άλλο πακέτο
Μπορεί μια τάξη να επιστρέψει μια τιμή python;
Μια τιμή δεν είναι κάτι διαφορετικό από ένα αντικείμενο στην Python. Όταν καλείτε ένα αντικείμενο κλάσης (όπως MyClass() ή list()), επιστρέφει μια παρουσία αυτής της κλάσης. Όταν εκτυπώνετε ένα αντικείμενο (δηλαδή παίρνετε μια παράσταση συμβολοσειράς ενός αντικειμένου), καλείται η μαγική μέθοδος _str_ ή _repr_ αυτού του αντικειμένου και εκτυπώνεται η επιστρεφόμενη τιμή