java:inner_class_member_hidding
This is an old revision of the document!
Επανα-ορισμός πεδίων της εξωτερικής κλάσης στην εσωτερική κλάση
Σε προηγούμενο παράδειγμα είδαμε την προσβασιμότητα στα πεδία και τις μεθόδους της εξωτερικής κλάσης. Τι γίνεται όμως όταν υπάρχει μία μέθοδος που καλεί μία άλλη μέθοδο η οποία υπάρχει τόσο στη εσωτερική όσο και στην εξωτερική κλάση. Σε αναλογία τι γίνεται όταν μία μέθοδος καλεί ένα πεδίο το οποίο υπάρχει στην εσωτερική και την εξωτερική κλάση; Το παρακάτω παράδειγμα απαντά στις παραπάνω απορίες.
- 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()); } }
java/inner_class_member_hidding.1486130507.txt.gz · Last modified: 2017/02/03 14:01 (external edit)