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:45] gthanosjava:inner_class_access_from_outside [2018/03/21 07:40] (current) – external edit 127.0.0.1
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.1486367128.txt.gz · Last modified: 2017/02/06 07:45 by gthanos