Όταν χρησιμοποιείτε τον τύπο enum , να ορίσετε μια νέα κατηγορία . Ακριβώς όπως με οποιαδήποτε άλλη κατηγορία , μπορείτε να συμπεριλάβετε προσαρμοσμένα μεθόδους και τα πεδία στην τάξη . Αυτό σας επιτρέπει να παρέχει τις εγκιβωτισμένες λειτουργίες που σχετίζονται με τον τύπο enum . Για παράδειγμα, ο ακόλουθος ορίζει μια κατηγορία τύπου enum με τη μέση γεωγραφικό πλάτος και μήκος για πολιτείες των ΗΠΑ. Περιέχει μια προσαρμοσμένη μέθοδο , την απόσταση, που υπολογίζει την απόσταση ανάμεσα σε ένα γεωγραφικό πλάτος και μήκος περάσει ως παραμέτρους για τη μέθοδο
εισαγωγή στατική java.lang.Math * ? . . Δημόσια κράτος enum { AK ( 61.3850 , -152.2683 ) , AL ( 32.7990 , -86.8073 ) , ... WV ( 38.4680 , -80.9696 ) , WY ( 42.7475 , -107.2085 ) ?
ιδιωτική τελική διπλό πλάτος ? ιδιωτική τελική διπλό μήκος ? κράτους ( διπλό πλάτος, διπλό μήκος) { this.latitude = γεωγραφικό πλάτος ? this.longitude = μήκος ? } ιδιωτικά δίκλινα γεωγραφικού πλάτους ( ) { γεωγραφικό πλάτος επιστροφή? } ιδιωτικά δίκλινα γεωγραφικό μήκος ( ) {επιστροφή μήκος ? } ιδιωτική στατική τελική διπλό R = 6371 ?
διπλάσια απόσταση ( διπλή lat , διπλά LNG ) { //σφαιρικό δίκαιο cosinesreturn cos ( sin ( γεωγραφικό πλάτος ) * sin ( ΕΕΘ ) + cos ( γεωγραφικό πλάτος ) * cos ( ΕΕΘ ) + cos ( LNG - μήκος) ) * R ? } }
εικόνων Ενισχυμένη τύπου Matching
Η
Επειδή ο τύπος enum είναι μια τάξη, επιβάλλει τον τύπο που ταιριάζουν για να συμπεριλάβει αντιστοιχία ενάντια στο σύνολο σταθερών ορίζονται στο enum . Αυτό αποτρέπει τυχόν σφαλμάτων, εξασφαλίζοντας ότι οι παράμετροι για τις λειτουργίες θα περιέχει πάντα μια τιμή στην κατηγορία τύπου enum . Για παράδειγμα , εάν μια λειτουργία απαιτεί τη σεζόν ως παράμετρος , η πραγματική παράμετρος περάσει στη λειτουργία κατά το χρόνο εκτέλεσης θα ταιριάξουν με τις τέσσερις επιτρεπτές τιμές που ορίζονται από το enum :
δημόσια enum Season { ΑΝΟΙΞΗ , ΚΑΛΟΚΑΙΡΙ , ΧΕΙΜΩΝΑΣ , FALL } ? καιρός δημόσια λειτουργία ( enum Season ) { ... } ?
Η Βελτιωμένη Τεκμηρίωση
Η
Το κατασκεύασμα enum κάνει κώδικα πιο εύκολο να κατανοήσουν και να διατηρήσει . Με τη δημιουργία ενός μορφώματος enum των μελών με νόημα ονόματα, μπορείτε να τεκμηριώνετε όπως μπορείτε να δημιουργήσετε . Για παράδειγμα , δηλώνοντας ένα enum που ονομάζεται "Επιλογή" καθιστά εύκολο να κατανοήσουμε τις περιπτώσεις το " διακόπτη " δήλωση:
enum επιλογή { SAVE , DISCARD , CANCEL } ? Option πάρει ? ... Διακόπτη ( επιλέξετε ) { υπόθεση SAVE : σπάσει ? περίπτωση DISCARD : σπάσει ? περίπτωση ΑΚΥΡΩΣΗ : διάλειμμα? }
εικόνων Αυτόματη Ειδικές μέθοδοι
Η
Στην Java , ο compiler αυτόματα εισάγει ειδικές μεθόδους σε η τάξη ώστε να είναι εύκολο να εκτελέσει βασικές λειτουργίες . Για παράδειγμα , ο compiler εισάγει αυτόματα μια μέθοδο που ονομάζεται «αξίες» που επιστρέφει έναν πίνακα σταθερές τιμές enum με τη σειρά που δηλώθηκαν . Αυτό κάνει επανάληψη πάνω από τις τιμές enum πολύ εύκολο , όπως στο ακόλουθο παράδειγμα :
για ( μήνα m : Month.values ( ) ) { System.out.printf ( " % s έχει % d ημέρες " , m , m.numberOfDays ( ) ) ? }
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα