Table of Contents

Εμφωλευμένες κλάσεις (Nested Classes)

Η Java σας δίνει την δυνατότητα να ορίσετε μία κλάση μέσα σε άλλη κλάση. Οι κλάσεις αυτές ονομάζονται εμφωλευμένες κλάσεις και ορίζονται ως εξής:

class OuterClass {
  ...
  class NestedClass {
      ...
  }
  ...
}

Ο παραπάνω ορισμός προϋποθέτει ότι για την εμφωλευμένη κλάση υπάρχει πάντα κάποια εξωτερική κλάση (outer class) που την εμπεριέχει.

Γιατί να χρησιμοποιήσουμε εμφωλευμένες κλάσεις

Οι εμφωλευμένες κλάσεις χρησιμοποιούνται ιδιαιτέρως για την δημιουργία παραθυρικών εφαρμογών (Graphical User Interfaces) με χρήση Swing.

Τα είδη των εμφωλευμένων κλάσεων

                      Nested Classes
                            |
                            v
        -------------------------------------------------------
        |                                                     |
        v                                                     v
   Static Nested                                      Non-Static Nested
      Classes                                              Classes
                                            _________________/|\__________________
                                            |                 |                  |
                                            v                 v                  v
                                       Inner Classes     Local Inner     Anonymous Inner
                                                           Classes            Classes

Οι εμφωλευμένες κλάσεις μπορούν να χωριστούν στις εξής κατηγορίες.