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/02/06 11:25]
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; 
- 
-    void methodInFirstLevel(int x) { 
-      System.out.println("x = " + x); 
-      System.out.println("this.x = " + this.x); 
-      System.out.println("ShadowTest.this.x = " + ShadowTest.this.x); 
-    } 
-     
-    String printX() { return "X in FirstLevel is "+x+" and "+ShadowTest.this.printX(); } 
-  } 
-   
-  String printX() { return "X in ShadowTest is "+x; } 
- 
-  public static void main(String args[]) { 
-    ShadowTest st = new ShadowTest(); 
-    ShadowTest.FirstLevel fl = st.new FirstLevel(); 
-    fl.methodInFirstLevel(23); 
-     
-    System.out.println(st.printX()); 
-    System.out.println(fl.printX()); 
-  } 
-} 
-</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)