java:inner_class_access
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
java:inner_class_access [2017/02/03 13:18] – created gthanos | java:inner_class_access [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Προσβασιμότητα πεδίων και μεθόδων μεταξύ εσωτερικής και εξωτερικής κλάσης ====== | ====== Προσβασιμότητα πεδίων και μεθόδων μεταξύ εσωτερικής και εξωτερικής κλάσης ====== | ||
- | |||
===== Πρόσβαση στα πεδία της εξωτερικής κλάσης (από την εσωτερική κλάση) ===== | ===== Πρόσβαση στα πεδία της εξωτερικής κλάσης (από την εσωτερική κλάση) ===== | ||
Line 14: | Line 13: | ||
Δείτε το παρακάτω παράδειγμα προσβασιμότητας των πεδίων της εξωτερικής κλάσης από την εσωτερική κλάση: | Δείτε το παρακάτω παράδειγμα προσβασιμότητας των πεδίων της εξωτερικής κλάσης από την εσωτερική κλάση: | ||
- | <code java OuterClassAccess.java> | + | <code java AccessOuterClassFromInnerClass.java> |
- | public class OuterClassAccess | + | public class AccessOuterClassFromInnerClass |
private int outerPriv; | private int outerPriv; | ||
int outerPckgPriv; | int outerPckgPriv; | ||
Line 34: | Line 33: | ||
public int getOuterPub() { return outerPub; } | public int getOuterPub() { return outerPub; } | ||
| | ||
- | public | + | public |
ic = new InnerClass(1, | ic = new InnerClass(1, | ||
| | ||
Line 45: | 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 62: | Line 62: | ||
| | ||
public static void main(String args[]) { | public static void main(String args[]) { | ||
- | | + | |
System.out.println(oc); | System.out.println(oc); | ||
} | } | ||
Line 68: | Line 68: | ||
</ | </ | ||
- | < | + | < |
Από το παραπάνω παράδειγμα, | Από το παραπάνω παράδειγμα, | ||
</ | </ | ||
Line 76: | 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 105: | Line 105: | ||
| | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
- | | + | |
} | } | ||
} | } | ||
Line 112: | Line 112: | ||
Όπως θα παρατηρήσετε αν μεταγλωττίσετε και εκτελέσετε το πρόγραμμα η εξωτερική κλάση έχει απόλυτη πρόσβαση στα πεδία και τις μεθόδους της εσωτερικής κλάσης ανεξάρτητα από τον προσδιοριστή πρόσβασης που έχουν αυτά. Η πρόσβαση της εξωτερικής κλάσης στα πεδία της εσωτερικής γίνεται πάντα μέσω ενός αντικειμένου της εξωτερικής κλάσης. | Όπως θα παρατηρήσετε αν μεταγλωττίσετε και εκτελέσετε το πρόγραμμα η εξωτερική κλάση έχει απόλυτη πρόσβαση στα πεδία και τις μεθόδους της εσωτερικής κλάσης ανεξάρτητα από τον προσδιοριστή πρόσβασης που έχουν αυτά. Η πρόσβαση της εξωτερικής κλάσης στα πεδία της εσωτερικής γίνεται πάντα μέσω ενός αντικειμένου της εξωτερικής κλάσης. | ||
- | < | + | < |
* H εσωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εξωτερικής κλάσης. | * H εσωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εξωτερικής κλάσης. | ||
* Η εξωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εσωτερικής κλάσης. Η πρόσβαση στα πεδία αυτά γίνεται μέσω ενός αντικειμένου της εξωτερικής κλάσης. | * Η εξωτερική κλάση έχει πρόσβαση σε όλα τα πεδία της εσωτερικής κλάσης. Η πρόσβαση στα πεδία αυτά γίνεται μέσω ενός αντικειμένου της εξωτερικής κλάσης. | ||
Line 119: | Line 119: | ||
</ | </ | ||
+ | | Προηγούμενο : [[ : |
java/inner_class_access.1486127885.txt.gz · Last modified: 2017/02/03 13:18 (external edit)