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