java:final

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Final Κλάσεις και Μέθοδοι ====== Μπορείτε να δηλώσετε μία ή περισσότερες μεθόδους μία κλάσης ως //final//. Δηλώνοντας μία μέθοδο ως final η μέθοδος αυτή δεν μπορεί να επαναοριστεί σε μία υποκλάση της κλάσης αυτής. Ο συχνότερος λόγος για να δηλώσετε μία μέθοδο ως //final// είναι αν η υλοποίηση της μεθόδου δεν πρέπει να αλλάξει. Ένα παράδειγμα είναι το παρακάτω, όπου στον αλγόριθμο για το σκάκι : <code java> class ChessAlgorithm { enum ChessPlayer { WHITE, BLACK } ... final ChessPlayer getFirstPlayer() { return ChessPlayer.WHITE; } ... } </code> Γενικότερα, μέθοδοι που καλούνται από τους κατασκευαστές της κλάσης ή για την αρχικοποίηση των μελών της κλάσης εκτός κατασκευαστών __θα πρέπει__ να ορίζονται ως //final//, Εάν οι μέθοδοι αυτές αλλάζουν την υλοποίηση τους σε υποκλάσεις μπορούν να δημιουργηθούν προβλήματα ως προς την ορθή αρχικοποίηση των μεταβλητών της κλάσης. Τέλος, μπορείτε να προσδιορίσετε μία κλάση ως //final//, όταν θέλετε να δηλώσετε ότι η συγκεκριμένη κλάση δεν πρέπει να έχει υποκλάσεις. Ένα παράδειγμα τέτοια κλάσης είναι η κλάση [[http://docs.oracle.com/javase/7/docs/api/java/lang/String.html | String]] της standard βιβλιοθήκης της Java. |Προηγούμενο: [[ :java:type_casting | Ρητές (explicit) και άρρητες (implicit) μετατροπές τύπων ]] | Επόμενο: [[ :java:multiple_inheritance | Κληρονομικότητα Πολλαπλών Γονικών Κλάσεων ]]|

java/final.1455526467.txt.gz · Last modified: 2016/02/26 11:15 (external edit)