This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
java:nested_classes [2015/04/29 03:44] gthanos [Τα είδη των εμφωλευμένων κλάσεων] |
java:nested_classes [2017/05/12 14:43] (current) 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 | Μη στατικές εμφωλευμένες κλάσεις ]]| | |
| - | + | ||
| - | + | ||