User Tools

Site Tools


java:final

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:final [2017/01/30 15:46] gthanosjava:final [2021/03/05 16:01] (current) – external edit 127.0.0.1
Line 5: Line 5:
 <code java> <code java>
 class ChessAlgorithm { class ChessAlgorithm {
-    enum ChessPlayer { WHITE, BLACK } 
     ...     ...
-    final ChessPlayer getFirstPlayer() { +    final String getFirstPlayer() { 
-        return ChessPlayer.WHITE;+        return "WHITE";
     }     }
     ...     ...
Line 14: Line 13:
 </code> </code>
  
-Γενικότερα, μέθοδοι που καλούνται από τους κατασκευαστές της κλάσης ή για την αρχικοποίηση των μελών της κλάσης εκτός κατασκευαστών __θα πρέπει__ να ορίζονται ως //final//. Ο λόγος είναι ότι στην περίπτωση που οι μέθοδοι αυτές αλλάξουν την υλοποίηση τους σε υποκλάσεις μπορούν να δημιουργηθούν προβλήματα ως προς την ορθή αρχικοποίηση των μεταβλητών της κλάσης.+Επίσης, μέθοδοι που καλούνται από τους κατασκευαστές της κλάσης ή για την αρχικοποίηση των μελών της κλάσης εκτός κατασκευαστών __θα πρέπει__ να ορίζονται ως //final//. Ο λόγος είναι ότι στην περίπτωση που οι μέθοδοι αυτές αλλάξουν την υλοποίηση τους σε υποκλάσεις μπορούν να δημιουργηθούν προβλήματα ως προς την ορθή αρχικοποίηση των πεδίων της κλάσης.
  
 Τέλος, μπορείτε να προσδιορίσετε μία κλάση ως //final//, όταν θέλετε να δηλώσετε ότι η συγκεκριμένη κλάση δεν πρέπει να έχει υποκλάσεις. Ένα παράδειγμα τέτοια κλάσης είναι η κλάση [[http://docs.oracle.com/javase/7/docs/api/java/lang/String.html | String]] της standard βιβλιοθήκης της Java. Τέλος, μπορείτε να προσδιορίσετε μία κλάση ως //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:inheritance_subclassing_vs_encapsulating Κριτήριo χρήσης της κληρονομικότητας ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[ :java:multiple_inheritance | Κληρονομικότητα Πολλαπλών Γονικών Κλάσεων ]]|
  
java/final.1485791170.txt.gz · Last modified: 2017/01/30 15:46 by gthanos