java:final
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| java:final [2016/02/15 08:41] – gthanos | java:final [2021/03/05 16:01] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Final Κλάσεις και Μέθοδοι ====== | ====== Final Κλάσεις και Μέθοδοι ====== | ||
| - | Μπορείτε να δηλώσετε μία ή περισσότερες μεθόδους μία κλάσης ως //final//. Δηλώνοντας μία μέθοδο ως final η μέθοδος αυτή δεν μπορεί να επαναοριστεί σε μία υποκλάση της κλάσης αυτής. Ο συχνότερος λόγος για να δηλώσετε μία μέθοδο ως //final// είναι αν η υλοποίηση της μεθόδου δεν πρέπει να αλλάξει. Ένα παράδειγμα είναι το παρακάτω: | + | Μπορείτε να δηλώσετε μία ή περισσότερες μεθόδους μία κλάσης ως //final//. Δηλώνοντας μία μέθοδο ως final η μέθοδος αυτή δεν μπορεί να επαναοριστεί σε μία υποκλάση της κλάσης αυτής. Ο συχνότερος λόγος για να δηλώσετε μία μέθοδο ως //final// είναι αν η υλοποίηση της μεθόδου δεν πρέπει να αλλάξει. Ένα παράδειγμα είναι το παρακάτω, όπου στην υλοποίηση ενός αλγορίθμου για σκάκι τα λευκά πιόνια παίζουν πάντα πρώτα: |
| <code java> | <code java> | ||
| class ChessAlgorithm { | class ChessAlgorithm { | ||
| - | enum ChessPlayer { WHITE, BLACK } | ||
| ... | ... | ||
| - | final ChessPlayer | + | final String |
| - | return | + | return |
| } | } | ||
| ... | ... | ||
| Line 14: | Line 13: | ||
| </ | </ | ||
| - | - Γενικότερα, μέθοδοι που καλούνται από τους κατασκευαστές της κλάσης ή για την αρχικοποίηση των μελών της κλάσης εκτός κατασκευαστών __θα πρέπει__ να ορίζονται ως //final//, Εάν οι μέθοδοι αυτές αλλάζουν την υλοποίηση τους σε υποκλάσεις μπορούν να δημιουργηθούν προβλήματα ως προς την ορθή αρχικοποίηση των | + | Επίσης, μέθοδοι που καλούνται από τους κατασκευαστές της κλάσης ή για την αρχικοποίηση των μελών της κλάσης εκτός κατασκευαστών __θα πρέπει__ να ορίζονται ως //final//. Ο λόγος είναι ότι στην περίπτωση που |
| Τέλος, μπορείτε να προσδιορίσετε μία κλάση ως //final//, όταν θέλετε να δηλώσετε ότι η συγκεκριμένη κλάση δεν πρέπει να έχει υποκλάσεις. Ένα παράδειγμα τέτοια κλάσης είναι η κλάση [[http:// | Τέλος, μπορείτε να προσδιορίσετε μία κλάση ως //final//, όταν θέλετε να δηλώσετε ότι η συγκεκριμένη κλάση δεν πρέπει να έχει υποκλάσεις. Ένα παράδειγμα τέτοια κλάσης είναι η κλάση [[http:// | ||
| + | |||
| + | |Προηγούμενο: | ||
java/final.1455525676.txt.gz · Last modified: 2016/02/15 08:41 by gthanos
