Βασική διαφορά – τελικό εναντίον τελικά εναντίον οριστικοποίησης στην Java
Το τελικό, το τέλος και το τελικό είναι κοινοί όροι που χρησιμοποιούνται στον προγραμματισμό Java. Ο τελικός είναι λέξη κλειδί. Μπορεί να χρησιμοποιηθεί για μεταβλητές, μεθόδους ή κλάσεις. Οι μεταβλητές που δηλώνονται ως τελικές θα πρέπει να αρχικοποιούνται μόνο μία φορά. Δεν μπορούν να αλλάξουν. Καθώς η Java είναι μια γλώσσα που υποστηρίζει Αντικειμενοστραφή Προγραμματισμό, επιτρέπει τη δημιουργία κλάσεων από υπάρχουσες κλάσεις για τη βελτίωση της επαναχρησιμοποίησης του κώδικα. Μερικές φορές, μπορεί να είναι απαραίτητο να αποφύγετε τη χρήση των υπαρχουσών κλάσεων. Για αυτό, μπορεί να χρησιμοποιηθεί τελικό. Στον προγραμματισμό, μπορεί να υπάρχουν σφάλματα και είναι σημαντικό να τα χειριστείτε για να εκτελεστεί σωστά το πρόγραμμα. Η οριστικοποίηση είναι μια μέθοδος που καλείται από τον συλλέκτη σκουπιδιών. Όλοι αυτοί οι όροι λοιπόν έχουν διαφορετικές σημασίες ανάλογα. Το τελικό είναι μια λέξη-κλειδί που αποτρέπει την αλλαγή μεταβλητών, αποφεύγει την παράκαμψη μεθόδου και αποφεύγει την επέκταση κλάσεων. Το τέλος είναι ένα μπλοκ στον χειρισμό εξαιρέσεων, το οποίο θα εκτελεστεί ανεξάρτητα από το εάν υπάρχει εξαίρεση ή όχι. Η οριστικοποίηση είναι μια μέθοδος που καλείται από τον συλλέκτη σκουπιδιών πριν καταστρέψει εντελώς το αντικείμενο. Αυτή είναι η βασική διαφορά τελικά και οριστικοποιήστε σε Java.
Τι είναι το τελικό στην Java;
Το τελικό είναι μια λέξη-κλειδί στην Java. Καθώς η Java υποστηρίζει αντικειμενοστραφή προγραμματισμό, οι υποκλάσεις μπορούν να χρησιμοποιήσουν τις μεταβλητές και τις μεθόδους μιας ήδη υπάρχουσας κλάσης. Η ήδη υπάρχουσα κλάση είναι η υπερκλάση ενώ η νέα κλάση είναι η υποκλάση. Εάν ο προγραμματιστής θέλει να αποτρέψει τη μεταβλητή που είναι προσβάσιμη από άλλες κλάσεις, μπορεί να δηλώσει τη μεταβλητή ως «τελική». Για παράδειγμα, ας υποθέσουμε ότι υπάρχει μια μεταβλητή ως p. Δηλώνεται ως τελικό και αρχικοποιείται η τιμή 10.π.χ. final int p=10. Εάν η τιμή p αλλάξει ξανά σε 20, θα προκαλέσει σφάλμα μεταγλώττισης. Η τελική λέξη-κλειδί αποτρέπει την αλλαγή της τιμής της μεταβλητής.
Μια κλάση μπορεί να χρησιμοποιήσει μια μέθοδο που βρίσκεται ήδη σε μια υπάρχουσα κλάση. Ας υποθέσουμε ότι υπάρχει μια κλάση που ονομάζεται B που έχει μια μέθοδο display(). Η νέα κλάση είναι η C και επεκτείνει την κλάση Β. Εάν η κλάση C έχει επίσης μια μέθοδο που ονομάζεται display(), τότε η αρχική μέθοδος display() της κατηγορίας B παρακάμπτεται. Εάν ο προγραμματιστής θέλει να αποφύγει την παράκαμψη της μεθόδου, τότε μπορεί να χρησιμοποιήσει τελικά τη λέξη-κλειδί. π.χ. final void display(){ }. Η οριστικοποίηση μιας μεθόδου διασφαλίζει ότι η λειτουργικότητα της μεθόδου δεν θα αλλάξει ποτέ.
Εικόνα 01: τελικό, τέλος και οριστικοποίηση
Είναι επίσης δυνατό να χρησιμοποιηθεί η τελική λέξη-κλειδί για μια τάξη. Η νέα κλάση δεν μπορεί να κληρονομήσει μεταβλητές και μεθόδους μιας τελικής κλάσης. Αυτό είναι χρήσιμο για την αύξηση της ασφάλειας. Καθώς η κλάση αποτρέπεται από τη χρήση από τις υποκλάσεις, τα δεδομένα προστατεύονται.
Τι είναι τελικά στην Java;
Στον προγραμματισμό, μπορεί να υπάρχουν σφάλματα. Τα σφάλματα μπορεί να προκαλέσουν εσφαλμένες εξόδους ή να τερματίσει την εκτέλεση ενός προγράμματος. Είναι σημαντικό να χρησιμοποιήσετε κάποιο είδος μηχανισμού για να αποτρέψετε αυτά τα απροσδόκητα αποτελέσματα. Τα σφάλματα μπορεί να είναι δύο ειδών. Είναι σφάλματα μεταγλώττισης χρόνου και σφάλματα χρόνου εκτέλεσης. Τα σφάλματα μεταγλώττισης παρουσιάζονται λόγω συντακτικών σφαλμάτων. Ορισμένα κοινά σφάλματα χρόνου μεταγλώττισης λείπουν το ερωτηματικό, τα σγουρά άγκιστρα, τα αναγνωριστικά ορθογραφίας, οι λέξεις-κλειδιά και οι μη δηλωμένες μεταβλητές. Ο μεταγλωττιστής δεν θα δημιουργήσει το αρχείο.class μέχρι να διορθωθούν αυτά τα σφάλματα.
Μερικές φορές μπορεί να υπάρχουν προγράμματα που μεταγλωττίζονται σωστά αλλά δίνουν λάθος έξοδο. Ονομάζονται σφάλματα χρόνου εκτέλεσης. Μερικά κοινά σφάλματα χρόνου εκτέλεσης είναι η κατάδυση ενός ακέραιου με το μηδέν και η πρόσβαση σε ένα στοιχείο που βρίσκεται εκτός των ορίων ενός πίνακα. Αυτά τα σφάλματα δεν θα προκαλέσουν σφάλμα κατά το χρόνο μεταγλώττισης, αλλά η έξοδος είναι εσφαλμένη. Μια εξαίρεση είναι μια συνθήκη που προκαλείται από ένα σφάλμα χρόνου εκτέλεσης στο πρόγραμμα.
Όταν υπάρχει ένα σφάλμα χρόνου εκτέλεσης, η Java δημιουργεί ένα αντικείμενο εξαίρεσης και το ρίχνει. Εάν το αντικείμενο εξαίρεσης δεν συλληφθεί σωστά, θα εμφανίσει ένα μήνυμα σφάλματος και θα τερματίσει το πρόγραμμα. Εάν ο προγραμματιστής θέλει να συνεχίσει την εκτέλεση του προγράμματος με τον υπόλοιπο κώδικα, θα πρέπει να πιάσει το αντικείμενο εξαίρεσης και να εμφανίσει το απαραίτητο μήνυμα για διορθωτική ενέργεια. Αυτή η διαδικασία είναι γνωστή ως χειρισμός εξαιρέσεων.
Στην Java, το try χρησιμοποιείται για τον κώδικα που είναι πιθανό να προκαλέσει σφάλμα και να δημιουργήσει μια εξαίρεση. Το catch χρησιμοποιείται για τον χειρισμό της εξαίρεσης που δημιουργείται από το μπλοκ try. Μπορεί να υπάρχουν πολλαπλές δηλώσεις αλιευμάτων. Οι τελικές δηλώσεις μπορούν να χρησιμοποιηθούν για τον χειρισμό μιας εξαίρεσης που δεν έχει εντοπιστεί από καμία από τις προηγούμενες δηλώσεις catch. Το τελικό μπλοκ θα εκτελεστεί είτε υπάρχει εξαίρεση είτε όχι. Ανατρέξτε στο συγκεκριμένο παράδειγμα.
int p=10, q=5, r=5;
int answer;
δοκιμάστε{
απάντηση=p / (q – r);
}
catch (Arithmetic Exception e){
System.out.println("Διαιρούμενο με το μηδέν");
}
τελικά{
System.out.println("Το τελικά μπλοκ εκτελείται");
}
Σύμφωνα με το παραπάνω παράδειγμα, η τιμή p διαιρείται με το μηδέν και θα προκαλέσει εξαίρεση. Επομένως, πιάνεται από τη δήλωση catch. Θα εκτυπώσει το μήνυμα Διαιρείται με το μηδέν. Το τελικό μπλοκ θα εκτελεστεί είτε έχει συμβεί εξαίρεση είτε όχι. Μετά το μήνυμα Διαίρεση με μηδέν, θα εμφανιστεί το μήνυμα μέσα στο τελικό μπλοκ. Επομένως, τελικά χρησιμοποιείται ένα μπλοκ στον χειρισμό εξαιρέσεων.
Τι οριστικοποιείται στην Java;
Στο OOP, τα αντικείμενα δημιουργούνται χρησιμοποιώντας κλάσεις. Η μέθοδος κατασκευής μπορεί να προετοιμάσει ένα αντικείμενο όταν δηλώνεται. Η διαδικασία είναι γνωστή ως αρχικοποίηση. Η Java έχει επίσης μια ιδέα που ονομάζεται οριστικοποίηση. Ο χρόνος εκτέλεσης Java είναι ένας αυτόματος συλλέκτης σκουπιδιών. Απελευθερώνει αυτόματα τους πόρους μνήμης που χρησιμοποιούνται από τα αντικείμενα. Ο συλλέκτης σκουπιδιών καλεί αυτήν τη μέθοδο πριν καταστρέψει το αντικείμενο.
Μερικά αντικείμενα ενδέχεται να περιέχουν πόρους που δεν είναι αντικείμενο. Ένα παράδειγμα είναι ένας περιγραφέας αρχείου. Σε αυτές τις περιπτώσεις, ο συλλέκτης απορριμμάτων καλεί τη μέθοδο οριστικοποίησης. π.χ. Οριστικοποιώ(). Αυτή η μέθοδος εκτελεί επεξεργασία καθαρισμού ακριβώς πριν τη συλλογή των σκουπιδιών του αντικειμένου.
Ποια είναι η ομοιότητα μεταξύ του τελικού και του οριστικού σε Java;
Όλα τα τελικά, τελικά και οριστικοποιημένα σε Java χρησιμοποιούνται στον προγραμματισμό Java
Ποια είναι η διαφορά μεταξύ του τελικού και του τελικού στην Java;
τελικός εναντίον τελικά εναντίον οριστικοποίησης |
|
τελικός | Το τελικό είναι μια λέξη-κλειδί στη Java που αποτρέπει την αλλαγή μεταβλητών, αποφεύγει την παράκαμψη μεθόδων και αποφεύγει την επέκταση κλάσεων. |
τελικά | Το τέλος είναι ένα μπλοκ στον χειρισμό εξαιρέσεων Java, το οποίο θα εκτελεστεί ανεξάρτητα από το εάν υπάρχει εξαίρεση ή όχι. |
finalize | Η οριστικοποίηση είναι μια μέθοδος σε Java, η οποία καλείται από τον συλλέκτη σκουπιδιών πριν καταστρέψει εντελώς το αντικείμενο. |
Εφαρμογή | |
τελικός | Το τελικό ισχύει για μεταβλητές, μεθόδους και κλάσεις. |
τελικά | Το τέλος ισχύει με μια δοκιμή και πιάσιμο μπλοκ. |
finalize | Η οριστικοποίηση ισχύει για αντικείμενα. |
Σύνοψη – τελικό vs τελικά vs οριστικοποίηση σε Java
Το τελικό, το τέλος και το τελικό είναι κοινοί όροι που χρησιμοποιούνται στον προγραμματισμό Java. Τα λόγια τους φαίνονται ίδια, αλλά έχουν μια διαφορά. Το τελικό είναι μια λέξη-κλειδί που αποτρέπει την αλλαγή μεταβλητών, αποφεύγει την παράκαμψη μεθόδου και αποφεύγει την επέκταση κλάσεων. Το τέλος είναι ένα μπλοκ στον χειρισμό εξαιρέσεων, το οποίο θα εκτελεστεί ανεξάρτητα από το εάν υπάρχει εξαίρεση ή όχι. Η οριστικοποίηση είναι μια μέθοδος που καλείται από τον συλλέκτη σκουπιδιών πριν καταστρέψει εντελώς το αντικείμενο. Αυτή είναι η διαφορά μεταξύ τελικού, τελικού και οριστικού στον προγραμματισμό Java.
Κατεβάστε το PDF του final vs final vs finalize σε Java
Μπορείτε να κατεβάσετε την έκδοση PDF αυτού του άρθρου και να τη χρησιμοποιήσετε για σκοπούς εκτός σύνδεσης σύμφωνα με τη σημείωση παραπομπής. Κατεβάστε την έκδοση PDF εδώ: Διαφορά μεταξύ τελικού και οριστικοποίησης σε Java