User Tools

Site Tools


java:inner_class_access_from_outside

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:inner_class_access_from_outside [2017/02/06 07:44] – [Πρόσβαση από άλλες κλάσεις σε πεδία της εσωτερικής κλάσης] gthanosjava:inner_class_access_from_outside [2018/03/21 07:40] (current) – external edit 127.0.0.1
Line 14: Line 14:
   - **private**: Τα μέλη της κλάσης είναι ορατά μόνο από την εξωτερική κλάση.   - **private**: Τα μέλη της κλάσης είναι ορατά μόνο από την εξωτερική κλάση.
  
-===== Πρόσβαση από άλλες κλάσεις σε πεδία της εσωτερικής κλάσης =====+===== Πρόσβαση από άλλες κλάσεις στην εσωτερική κλάση =====
  
 Ο παρακάτω κώδικας επιχειρεί να δημιουργήσει ένα αντικείμενο μίας εσωτερικής κλάσης από μία άλλη κλάση. Σε αυτή την περίπτωση και __με την προϋπόθεση ότι η εσωτερική κλάση είναι συνολικά προσβάσιμη__ από την κλάση που επιχειρεί να δημιουργήσει το αντικείμενο, η προσβασιμότητα των πεδίων και των μεθόδων της εσωτερικής κλάσης εξαρτάται από τους προσδιοριστές πρόσβασης που έχουν αυτά. Δείτε το παρακάτω παράδειγμα. Ο παρακάτω κώδικας επιχειρεί να δημιουργήσει ένα αντικείμενο μίας εσωτερικής κλάσης από μία άλλη κλάση. Σε αυτή την περίπτωση και __με την προϋπόθεση ότι η εσωτερική κλάση είναι συνολικά προσβάσιμη__ από την κλάση που επιχειρεί να δημιουργήσει το αντικείμενο, η προσβασιμότητα των πεδίων και των μεθόδων της εσωτερικής κλάσης εξαρτάται από τους προσδιοριστές πρόσβασης που έχουν αυτά. Δείτε το παρακάτω παράδειγμα.
Line 62: Line 62:
 </code> </code>
  
 +<WRAP tip 80% center round>
 Κατά συνέπεια, για την προσβασιμότητα των πεδίων και των μεθόδων της εσωτερικής κλάσης από μία άλλη κλάση ισχύουν τα εξής: Κατά συνέπεια, για την προσβασιμότητα των πεδίων και των μεθόδων της εσωτερικής κλάσης από μία άλλη κλάση ισχύουν τα εξής:
   - Η εσωτερική κλάση θα πρέπει να είναι συνολικά προσβάσιμη.   - Η εσωτερική κλάση θα πρέπει να είναι συνολικά προσβάσιμη.
-  - Με την προϋπόθεση ότι ισχύει το παραπάνω, για τα πεδία της εσωτερικής κλάσης ισχύουν οι [[java:access_modifiers|κανόνες προσβασιμότητας]] που ορίζονται από προσδιοριστές πρόσβασης.+  - Με την προϋπόθεση ότι ισχύει το παραπάνω, για τα πεδία και τις μεθόδους της εσωτερικής κλάσης ισχύουν οι [[java:access_modifiers|κανόνες προσβασιμότητας]] που ορίζονται από τους προσδιοριστές πρόσβασης των πεδίων ή των μεθόδων αυτών. 
 +</WRAP>
  
 Στο προηγούμενο παράδειγμα δοκιμάστε να αλλάξετε τον προσδιοριστή πρόσβασης της κλάσης **InnerClass** από //package private// σε //private//. Σε αυτή την περίπτωση θα παρατηρήσετε ότι η κλάση **TestOuterClass** δεν μεταγλωττίζεται. Συγκεκριμένα, ο μεταγλωττιστής εμφανίζει το παρακάτω μήνυμα λάθους, επισημαίνοντας ότι ο προσδιοριστής πρόσβασης **private** δεν επιτρέπει τη πρόσβαση από μία άλλη κλάση στο συγκεκριμένο περιεχόμενο της **OuterClass**.  Στο προηγούμενο παράδειγμα δοκιμάστε να αλλάξετε τον προσδιοριστή πρόσβασης της κλάσης **InnerClass** από //package private// σε //private//. Σε αυτή την περίπτωση θα παρατηρήσετε ότι η κλάση **TestOuterClass** δεν μεταγλωττίζεται. Συγκεκριμένα, ο μεταγλωττιστής εμφανίζει το παρακάτω μήνυμα λάθους, επισημαίνοντας ότι ο προσδιοριστής πρόσβασης **private** δεν επιτρέπει τη πρόσβαση από μία άλλη κλάση στο συγκεκριμένο περιεχόμενο της **OuterClass**. 
Line 80: Line 82:
 </WRAP> </WRAP>
  
 +| Προηγούμενο : [[ :java:inner_class_inheritance | Κληρονομικότητα εσωτερικών κλάσεων  ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ java:inner_class_member_hidding | Επανα-ορισμός πεδίων της εξωτερικής κλάσης στην εσωτερική κλάση ]]  |
java/inner_class_access_from_outside.1486367092.txt.gz · Last modified: 2017/02/06 07:44 by gthanos