User Tools

Site Tools


java:final

This is an old revision of the document!


Final Κλάσεις και Μέθοδοι

Μπορείτε να δηλώσετε μία ή περισσότερες μεθόδους μία κλάσης ως final. Δηλώνοντας μία μέθοδο ως final η μέθοδος αυτή δεν μπορεί να επαναοριστεί σε μία υποκλάση της κλάσης αυτής. Ο συχνότερος λόγος για να δηλώσετε μία μέθοδο ως final είναι αν η υλοποίηση της μεθόδου δεν πρέπει να αλλάξει. Ένα παράδειγμα είναι το παρακάτω:

class ChessAlgorithm {
    enum ChessPlayer { WHITE, BLACK }
    ...
    final ChessPlayer getFirstPlayer() {
        return ChessPlayer.WHITE;
    }
    ...
}

Γενικότερα, μέθοδοι που καλούνται από τους κατασκευαστές της κλάσης ή για την αρχικοποίηση των μελών της κλάσης εκτός κατασκευαστών θα πρέπει να ορίζονται ως final, Εάν οι μέθοδοι αυτές αλλάζουν την υλοποίηση τους σε υποκλάσεις μπορούν να δημιουργηθούν προβλήματα ως προς την ορθή αρχικοποίηση των μεταβλητών της κλάσης.

Τέλος, μπορείτε να προσδιορίσετε μία κλάση ως final, όταν θέλετε να δηλώσετε ότι η συγκεκριμένη κλάση δεν πρέπει να έχει υποκλάσεις. Ένα παράδειγμα τέτοια κλάσης είναι η κλάση String της standard βιβλιοθήκης της Java.

java/final.1455525710.txt.gz · Last modified: 2016/02/15 08:41 by gthanos