Βίντεο: Computational Linguistics, by Lucas Freitas 2024
Προσπαθείτε να μεταγλωττίσετε το πρόγραμμα Java στην καταχώρηση του παραδείγματος. Ο μεταγλωττιστής Java τρυπάει τον κώδικα και σκοντάφτει μερικά κομμάτια που λείπουν. Πρώτα υπάρχει αυτό το πράγμα που ονομάζεται ArtFrame. Στη συνέχεια, έχετε αυτή την εργασία σχεδίασης. Η λίστα ορίζει μια κλάση που ονομάζεται ShowFrame, όχι ArtFrame ή Σχέδιο. Έτσι, πού πηγαίνει ο μεταγλωττιστής για πληροφορίες σχετικά με τις κλάσεις ArtFrame και Drawing;
Εάν σταματήσετε να το σκεφτείτε, το πρόβλημα μπορεί να είναι τρομακτικό. Πρέπει ο μεταγλωττιστής να ψάξει σε όλο το σκληρό σας δίσκο για αρχεία με το όνομα ArtFrame. java ή Σχέδιο. τάξη? Πόσο μεγάλο είναι ο νέος σκληρός σας δίσκος; 500GB; 750GB; 6, 000, 000GB;
Και τι γίνεται με αναφορές σε αρχεία σε μονάδες δίσκου δικτύου; Ο χώρος αναζήτησης είναι δυνητικά απεριόριστος. Τι γίνεται αν ο μεταγλωττιστής τελικά λύσει όλα αυτά τα θέματα; Στη συνέχεια, προσπαθείτε να εκτελέσετε τον κώδικα σας και η Java Virtual Machine (JVM) αρχίζει να ψάχνει ξανά.
Για να αντιμετωπίσει αυτό το πρόβλημα, η Java ορίζει κάτι που ονομάζεται CLASSPATH. Το CLASSPATH είναι μια λίστα με τα μέρη όπου ο μεταγλωττιστής και ο JVM αναζητούν κώδικα. Υπάρχουν διάφοροι τρόποι για να ορίσετε ένα CLASSPATH. Ορισμένοι προγραμματιστές δημιουργούν ένα νέο CLASSPATH κάθε φορά που εκτελούν ένα πρόγραμμα Java. Άλλοι δημιουργούν μια μεταβλητή CLASSPATH σε όλο το σύστημα.
Αν είστε εξοικειωμένοι με τη μεταβλητή PATH σε υπολογιστές Windows και UNIX, ίσως ήδη γνωρίζετε πώς λειτουργεί αυτό το στοιχείο.
Ο ένας ή ο άλλος τρόπος, ο μεταγλωττιστής και ο JVM χρειάζονται μια λίστα με τα μέρη για να αναζητήσουν κώδικα. Χωρίς μια τέτοια λίστα, αυτά τα εργαλεία Java δεν φαίνονται πουθενά. Δεν βρίσκουν μαθήματα όπως το ArtFrame ή το Σχέδιο. Παίρνετε ένα μήνυμα δεν μπορεί να βρει μήνυμα συμβόλου ή μήνυμα NoClassDefFoundError και είστε πολύ δυσαρεστημένοι.
Για να καταστήσετε σαφή αυτή την επιχείρηση σχετικά με τους τροποποιητές πρόσβασης, χρειάζεστε ένα παράδειγμα. Σε πολλά παραδείγματα Java, σχεδόν όλα είναι δημόσια. Με την πρόσβαση του κοινού, δεν χρειάζεται να ανησυχείτε για το ποιος μπορεί να χρησιμοποιήσει αυτό.
Ο κώδικας για αυτό το πρώτο παράδειγμα έρχεται σε πολλά μέρη. Το πρώτο μέρος, το οποίο βρίσκεται στην λίστα, εμφανίζει ένα ArtFrame. Στην όψη του ArtFrame είναι ένα Σχέδιο. Εάν όλα τα σωστά κομμάτια είναι στη θέση τους, η εκτέλεση του κώδικα εμφανίζει ένα παράθυρο όπως αυτό που φαίνεται στο σχήμα.
Εισαγωγή com. βόμβος. σχέδια ζωγραφικής. Σχέδιο; εισαγωγή com. βόμβος. πλαίσια. ArtFrame; class ShowFrame {δημόσιο static κενό main (String args []) {ArtFrame artFrame = νέο ArtFrame (νέο σχέδιο ()); artFrame. setSize (200, 100). artFrame. setVisible (true)?}