Βίντεο: Java (01plus.gr) 2025
Καθώς δουλεύετε με αντικείμενα Java, κατανοείτε πώς γεννιούνται τα αντικείμενα, ζουν τη ζωή τους και πεθαίνουν. Αυτό το θέμα ονομάζεται κύκλος ζωής ενός αντικειμένου και το κάνει κάτι τέτοιο:
1. Προτού να δημιουργηθεί ένα αντικείμενο από μια κλάση, πρέπει να φορτωθεί η κλάση. Για να γίνει αυτό, το runtime Java εντοπίζει την κλάση στο δίσκο (σε ένα αρχείο κλάσης) και τη διαβάζει στη μνήμη. Στη συνέχεια, η Java αναζητά τυχόν στατικές αρχικοποιητές που αρχικοποιούν στατικά πεδία - πεδία που δεν ανήκουν σε κάποια συγκεκριμένη παρουσία της τάξης, αλλά ανήκουν στην ίδια την τάξη και μοιράζονται από όλα τα αντικείμενα που δημιουργούνται από την τάξη.
Μια πρώτη κλάση φορτώνεται όταν δημιουργείτε ένα αντικείμενο από την κλάση ή την πρώτη φορά που έχετε πρόσβαση σε ένα στατικό πεδίο ή μέθοδο της κλάσης. Για παράδειγμα, όταν εκτελείτε την κύρια μέθοδο μιας κλάσης, η κλάση αρχικοποιείται επειδή η κύρια μέθοδος είναι στατική.
2. Ένα αντικείμενο δημιουργείται από μια κλάση όταν χρησιμοποιείτε τη νέα λέξη-κλειδί. Για να αρχικοποιήσει την κλάση, η Java εκχωρεί μνήμη για το αντικείμενο και ορίζει μια παραπομπή στο αντικείμενο, έτσι ώστε το Java runtime να μπορεί να παρακολουθεί το αντικείμενο. Στη συνέχεια, η Java καλεί τον κατασκευαστή κλάσης, ο οποίος είναι σαν μια μέθοδος αλλά καλείται μόνο μία φορά, όταν δημιουργείται το αντικείμενο. Ο κατασκευαστής είναι υπεύθυνος για οποιαδήποτε επεξεργασία που απαιτείται για την αρχικοποίηση του αντικειμένου, όπως η προετοιμασία μεταβλητών, το άνοιγμα αρχείων ή βάσεων δεδομένων κ.ο.κ.
3. Το αντικείμενο ζει τη ζωή του, παρέχοντας πρόσβαση σε δημόσιες μεθόδους και πεδία σε όποιον θέλει και τις χρειάζεται.
4. Όταν έρθει η ώρα για το αντικείμενο να πεθάνει, το αντικείμενο αφαιρείται από τη μνήμη και η Java αφήνει την εσωτερική του αναφορά σε αυτήν. Δεν χρειάζεται να καταστρέφετε μόνοι σας αντικείμενα. Ένα ειδικό μέρος του χρόνου εκτέλεσης Java που ονομάζεται συλλέκτης απορριμμάτων φροντίζει για την καταστροφή όλων των αντικειμένων όταν δεν χρησιμοποιούνται πλέον.
