Το παράδειγμα αυτό επιδεικνύει τη χρήση του στοιχείου δεδομένων staticField και του τμήματος κώδικα διερευνητή staticInitializer.
Στο παράδειγμα, ο διερευνητής παρακολουθεί πότε δημιουργούνται χρήσεις μιας κλάσης. Εάν μια χρήση δημιουργείται σε χρόνο μεγαλύτερο από ένα δευτερόλεπτο μετά την προηγούμενη χρήση της συγκεκριμένης κλάσης, τότε ο διερευνητής εγγράφει ένα μήνυμα καταχώρησης.
Δείτε τι κάνει αυτός ο διερευνητής:
- Χρησιμοποιώντας τον ορισμό στατικού πεδίου, ο διερευνητής δημιουργεί ένα στατικό πεδίο του είδους Date σε κάθε ελεγχόμενη κλάση. Η απόδοση αρχικών τιμών στο στατικό πεδίο γίνεται με κλήση της new Date();.
- Στο τμήμα κώδικα staticInitializer, ο διερευνητής θέτει στη χρήση του πεδίου "Date" μιας ελεγχόμενης κλάσης την τιμή "μηδενικός χρόνος" (Ιανουάριος 1970), όταν φορτώνεται.
- Στο τμήμα κώδικα entry, ο διερευνητής ελέγχει πότε πραγματοποιήθηκε η προηγούμενη ενημέρωση και δημιουργεί μια αναφορά, εάν αυτή πραγματοποιήθηκε πριν από περισσότερο από ένα δευτερόλεπτο. (Λόγω των κανόνων στόχευσης, το τμήμα κώδικα entry εκτελείται μόνο σε λειτουργίες κατασκευής.)
- Τέλος, ο διερευνητής ενημερώνει την τιμή της χρήσης του πεδίου "Date", ορίζοντάς την ως "now".
Ο διερευνητής χρησιμοποιεί τον ορισμό του στατικού πεδίου για να δημιουργήσει ένα νέο στατικό πεδίο σε κάθε ελεγχόμενη κλάση. Συγκριτικά, η χρήση ενός τμήματος στην εμβέλεια κλάσης για τη δήλωση του πεδίου "Date" θα είχε ως αποτέλεσμα μία μεμονωμένη χρήση του "Date" που θα εμφανίζεται στην παραγόμενη κλάση στην οποία περιέχονται τα τμήματα κώδικα διερευνητή, ανεξάρτητα από το πλήθος των κλάσεων στις οποίες εφαρμόζεται ο διερευνητής. Μπορείτε να το κάνετε αυτό εάν θέλετε να παρακολουθήσετε την καθυστέρηση ημερομηνίας μεταξύ της δημιουργίας χρήσεων μίας οποιασδήποτε ελεγχόμενης κλάσης, αντί να παρακολουθείτε την καθυστέρηση μεταξύ της δημιουργίας χρήσεων κάθε ελεγχόμενης κλάσης.
Αυτός ο διερευνητής ορίζεται από τις ακόλουθες καταχωρήσεις στη λειτουργία επεξεργασίας Probekit:
- Πλήρως προσδιορισμένο είδος Java για στατικό πεδίο (πατήστε με το δεξί κουμπί του ποντικιού στο Διερευνητής στο τμήμα παραθύρου διακλάδωσης, έπειτα πατήστε και καταχωρήστε την τιμή αυτή):
java.util.Date
- Στόχος
- Είδος στόχου
- Πακέτο: com.sample* (Εδώ
χρησιμοποιήστε ένα πραγματικό όνομα πακέτου.)
- Κλάση: *
- Μέθοδος: <init>
- Υπογραφή μεθόδου: *
- Στόχος (για να καταχωρήσετε τις τιμές αυτές, επιλέξτε Προσθήκη και στη συνέχεια Τροποποίηση στο τμήμα παραθύρου τροποποίησης):
- Είδος στόχου
- Πακέτο: *
- Κλάση: *
- Μέθοδος: *
- Υπογραφή μεθόδου: *
- Τμήμα κώδικα (επιλέξτε Τμήμα κώδικα στο τμήμα παραθύρου διακλάδωσης για να καταχωρήσετε τις τιμές αυτές):