This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:static_nested_classes [2017/02/06 08:53] gthanos [Δημιουργία αντικειμένων της εμφωλευμένης στατικής κλάσης από μία τρίτη κλάση διαφορετική της εξωτερικής κλάσης] |
java:static_nested_classes [2017/02/06 13:04] gthanos [Στατικές εμφωλευμένες κλάσεις] |
||
|---|---|---|---|
| Line 37: | Line 37: | ||
| return " | return " | ||
| } | } | ||
| + | } | ||
| + | | ||
| + | public static void main(String args[]) { | ||
| + | NonStaticOuterClass myOuter = new NonStaticOuterClass(10); | ||
| + | System.out.println(myOuter.innerObj.toString()); | ||
| + | | ||
| + | NonStaticOuterClass.StaticInnerClass inner = new NonStaticOuterClass.StaticInnerClass(); | ||
| } | } | ||
| } | } | ||
| Line 44: | Line 51: | ||
| Από την μεταγλώττιση και εκτέλεση του παραπάνω κώδικα παρατηρούμε ότι | Από την μεταγλώττιση και εκτέλεση του παραπάνω κώδικα παρατηρούμε ότι | ||
| * αν και η κλάση // | * αν και η κλάση // | ||
| - | * Τα αντικείμενα | + | * Τα αντικείμενα της στατικής εσωτερικής κλάσης ΔΕΝ ανήκουν στην εξωτερική κλάση, όπως συμβαίνει στις μη στατικές κλάσεις. Στο παραπάνω παράδειγμα, η σύνδεση μεταξύ εσωτερικής στατικής και |
| + | * Η τελευταία γραμμή της μεθόδου **main** δείχνει | ||
| </ | </ | ||
| + | |||
| ===== Πρόσβαση στα στατικά και μη στατικά πεδία της εξωτερικής κλάσης ===== | ===== Πρόσβαση στα στατικά και μη στατικά πεδία της εξωτερικής κλάσης ===== | ||
| - | Σημαντική | + | Σημαντική ιδιαιτερότητα των //static// εμφωλευμένων κλάσεων είναι ότι __δεν έχουν απευθείας πρόσβαση στις μη-στατικές μεταβλητές της εξωτερικής κλάσης στην οποία ανήκουν__, |
| Το παρακάτω παράδειγμα δείχνει ότι πως μπορείτε να έχετε πρόσβαση στις μη στατικές μεταβλητές της εξωτερικής κλάσης μέσω ενός αντικειμένου της κλάσης αυτής. | Το παρακάτω παράδειγμα δείχνει ότι πως μπορείτε να έχετε πρόσβαση στις μη στατικές μεταβλητές της εξωτερικής κλάσης μέσω ενός αντικειμένου της κλάσης αυτής. | ||