Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision |
java:inner_class_access_from_outside [2017/02/06 07:45] – gthanos | java:inner_class_access_from_outside [2018/03/21 07:40] (current) – external edit 127.0.0.1 |
---|
</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**. |
</WRAP> | </WRAP> |
| |
| | Προηγούμενο : [[ :java:inner_class_inheritance | Κληρονομικότητα εσωτερικών κλάσεων ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ java:inner_class_member_hidding | Επανα-ορισμός πεδίων της εξωτερικής κλάσης στην εσωτερική κλάση ]] | |