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:inner_class_access [2017/02/06 11:20] gthanos [Πρόσβαση από την εξωτερική κλάση σε πεδία της εσωτερικής κλάσης] |
java:inner_class_access [2021/04/12 05:48] gthanos [Πρόσβαση από την εξωτερική κλάση σε πεδία της εσωτερικής κλάσης] |
||
|---|---|---|---|
| Line 44: | Line 44: | ||
| | | ||
| private class InnerClass { | private class InnerClass { | ||
| - | | + | //inner class has not fields |
| + | | ||
| public InnerClass(int p, int pp, int pr, int pu) { | public InnerClass(int p, int pp, int pr, int pu) { | ||
| outerPriv = p; | outerPriv = p; | ||
| Line 67: | Line 68: | ||
| </ | </ | ||
| - | < | + | < |
| Από το παραπάνω παράδειγμα, | Από το παραπάνω παράδειγμα, | ||
| </ | </ | ||
| Line 75: | Line 76: | ||
| Το παρακάτω παράδειγμα εξηγεί την προσβασιμότητα της εξωτερικής κλάσης σε πεδία και μεθόδους της εσωτερικής κλάσης. | Το παρακάτω παράδειγμα εξηγεί την προσβασιμότητα της εξωτερικής κλάσης σε πεδία και μεθόδους της εσωτερικής κλάσης. | ||
| - | <code java OuterClass.java> | + | <code java AccessInnerClassFromOuterClass.java> |
| - | public class OuterClass | + | public class AccessInnerClassFromOuterClass |
| int outer; | int outer; | ||
| InnerOuterClass innerObj; | InnerOuterClass innerObj; | ||
| - | public | + | public |
| outer = o; | outer = o; | ||
| innerObj = new InnerOuterClass(); | innerObj = new InnerOuterClass(); | ||
| Line 104: | Line 105: | ||
| | | ||
| public static void main(String[] args) { | public static void main(String[] args) { | ||
| - | | + | |
| } | } | ||
| } | } | ||
| Line 111: | Line 112: | ||
| Όπως θα παρατηρήσετε αν μεταγλωττίσετε και εκτελέσετε το πρόγραμμα η εξωτερική κλάση έχει απόλυτη πρόσβαση στα πεδία και τις μεθόδους της εσωτερικής κλάσης ανεξάρτητα από τον προσδιοριστή πρόσβασης που έχουν αυτά. Η πρόσβαση της εξωτερικής κλάσης στα πεδία της εσωτερικής γίνεται πάντα μέσω ενός αντικειμένου της εξωτερικής κλάσης. | Όπως θα παρατηρήσετε αν μεταγλωττίσετε και εκτελέσετε το πρόγραμμα η εξωτερική κλάση έχει απόλυτη πρόσβαση στα πεδία και τις μεθόδους της εσωτερικής κλάσης ανεξάρτητα από τον προσδιοριστή πρόσβασης που έχουν αυτά. Η πρόσβαση της εξωτερικής κλάσης στα πεδία της εσωτερικής γίνεται πάντα μέσω ενός αντικειμένου της εξωτερικής κλάσης. | ||
| - | < | + | < |
| * H εσωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εξωτερικής κλάσης. | * H εσωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εξωτερικής κλάσης. | ||
| * Η εξωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εσωτερικής κλάσης. Η πρόσβαση στα πεδία αυτά γίνεται μέσω ενός αντικειμένου της εξωτερικής κλάσης. | * Η εξωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εσωτερικής κλάσης. Η πρόσβαση στα πεδία αυτά γίνεται μέσω ενός αντικειμένου της εξωτερικής κλάσης. | ||