This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
java:nested_classes [2015/04/29 03:39] gthanos created |
java:nested_classes [2017/05/12 14:43] gthanos [Τα είδη των εμφωλευμένων κλάσεων] |
||
---|---|---|---|
Line 19: | Line 19: | ||
* Όπως θα δούμε παρακάτω οι εμφωλευμένες κλάσεις έχουν πρόσβαση στα πεδία και τις μεθόδους της εξωτερικής τους κλάσης και αντίστροφά η εξωτερική κλάση έχει πρόσβαση στα πεδία και τις μεθόδους της εμφωλευμένης κλάσης ανεξάρτητα από τους προσδιορισστές πρόσβασης που θα οριστούν για την εσωτερική κλάση ή τα πεδία και τις μεθόδους της εξωτερικής κλάσης. Το παραπάνω δίνει την δυνατότητα να ορίσουμε εμφωλευμένες κλάσεις ως **private** κλάσεις, οι οποίες είναι προσβάσιμες από την εξωτερική κλάση, αλλά όχι από άλλες κλάσεις στο ίδιο ή σε άλλο πακέτο. Με αυτό τον τρόπο η απόκρυψη της πληροφορίας είναι απόλυτη. | * Όπως θα δούμε παρακάτω οι εμφωλευμένες κλάσεις έχουν πρόσβαση στα πεδία και τις μεθόδους της εξωτερικής τους κλάσης και αντίστροφά η εξωτερική κλάση έχει πρόσβαση στα πεδία και τις μεθόδους της εμφωλευμένης κλάσης ανεξάρτητα από τους προσδιορισστές πρόσβασης που θα οριστούν για την εσωτερική κλάση ή τα πεδία και τις μεθόδους της εξωτερικής κλάσης. Το παραπάνω δίνει την δυνατότητα να ορίσουμε εμφωλευμένες κλάσεις ως **private** κλάσεις, οι οποίες είναι προσβάσιμες από την εξωτερική κλάση, αλλά όχι από άλλες κλάσεις στο ίδιο ή σε άλλο πακέτο. Με αυτό τον τρόπο η απόκρυψη της πληροφορίας είναι απόλυτη. | ||
- | <WRAP note 80% center round> Οι εμφωλευμένες κλάσεις χρησιμοποιούνται ιδιαιτέρως για την δημιουργία παραθυρικών εφαρμογών (Graphical User Interfaces) με χρήση Swing. | + | <WRAP info 80% center round> Οι εμφωλευμένες κλάσεις χρησιμοποιούνται ιδιαιτέρως για την δημιουργία παραθυρικών εφαρμογών (Graphical User Interfaces) με χρήση Swing. |
</WRAP> | </WRAP> | ||
===== Τα είδη των εμφωλευμένων κλάσεων ===== | ===== Τα είδη των εμφωλευμένων κλάσεων ===== | ||
- | Οι εμφωλευμένες κλάσεις μπορούν να χωριστούν στις εξής κατηγορίες. | + | |
<code> | <code> | ||
Line 42: | Line 42: | ||
</code> | </code> | ||
+ | Οι εμφωλευμένες κλάσεις μπορούν να χωριστούν στις εξής κατηγορίες. | ||
+ | |||
+ | * **Μη-στατικές εμφωλευμένες κλάσεις:** | ||
+ | * **Εσωτερικές κλάσεις:** | ||
+ | * **Τοπικές εμφωλευμένες κλάσεις** (δεν θα μας απασχολήσουν) | ||
+ | * **Ανωνυμές εμφωλευμένες κλάσεις** | ||
+ | * **Στατικές εμφωλευμένες κλάσεις:** (δεν θα μας απασχολήσουν) | ||
- | + | |Προηγούμενο: [[ :java:collections_intro| Collections ]] | Επόμενο: [[ :java:inner_classes | Μη στατικές εμφωλευμένες κλάσεις ]]| | |
- | + | ||