java:inner_class_member_hidding

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

java:inner_class_member_hidding [2017/04/02 00:00]
gthanos
java:inner_class_member_hidding [2020/03/15 20:45]
Line 1: Line 1:
-====== Επανα-ορισμός πεδίων της εξωτερικής κλάσης στην εσωτερική κλάση ====== 
- 
-Σε προηγούμενο παράδειγμα είδαμε την προσβασιμότητα στα πεδία και τις μεθόδους της εξωτερικής κλάσης. Τι γίνεται όμως όταν μία μέθοδος καλεί μία άλλη μέθοδο η οποία υπάρχει τόσο στη εσωτερική όσο και στην εξωτερική κλάση. Αντίστοιχα, τι γίνεται όταν μία μέθοδος καλεί ένα πεδίο το οποίο υπάρχει στην εσωτερική και την εξωτερική κλάση; Το παρακάτω παράδειγμα απαντά στα παραπάνω ερωτήματα: 
- 
-<code java ShadowTest.java> 
-public class ShadowTest { 
- 
-  public int x = 100; 
- 
-  class FirstLevel { 
- 
-    public int x = 200; 
- 
-    String toString(int x) { 
-       return "x = " + x + "\nthis.x = " + this.x + "\nShadowTest.this.x = " + ShadowTest.this.x; 
-    } 
-     
-    public String toString() { return "X in FirstLevel is "+x+" and "+ShadowTest.this;} 
-  } 
-   
-  public String toString() { return "X in ShadowTest is "+x; } 
- 
-  public static void main(String args[]) { 
-    ShadowTest st = new ShadowTest(); 
-    ShadowTest.FirstLevel fl = st.new FirstLevel(); 
-    System.out.println(fl.toString(23));     
-    System.out.println(st); 
-    System.out.println(fl); 
-  } 
-} 
-</code> 
- 
-Το αποτέλεσμα εκτέλεσης του παραπάνω προγράμματος δίνεται παρακάτω: 
- 
-<code> 
-x = 23 
-this.x = 200 
-ShadowTest.this.x = 100 
-X in ShadowTest is 100 
-X in FirstLevel is 200 and X in ShadowTest is 100 
-</code> 
- 
-| Προηγούμενο : [[ :java:inner_class_access_from_outside | Πρόσβαση από τρίτες κλάσεις στην εσωτερική κλάση  ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ :java:local_inner_classes | Τοπικές κλάσεις ]]  | 
  
java/inner_class_member_hidding.txt · Last modified: 2020/03/15 20:45 (external edit)