變數:區域性變數、本類成員變數、父類成員變數
如何訪問:如果變數名相同,則採用就近原則,哪個變數離所要呼叫的訪問最近,那就麼就輸出,優先順序為:區域性變數 > 本類成員變數 > 父類成員變數
如果要跳過局點變數而直接訪問本類成員變數或者父類成員變數怎麼辦?
1、使用 this 關鍵字可以跳過區域性變數而直接訪問本類成員變數;
2、使用 super 關鍵字可以跳過區域性和本類而直接訪問父類成員變數;
1 package debug; 2 3 class Father{ 4 int num = 10; 5 } 6 7 class Son1 extends Father{ 8 int num = 20; 9 int num2 = 30; 10 11 public void show() { 12 int num = 40; 13 System.out.println(num); //採用變數名相同,就近原則,該處輸出為 40 14 System.out.println(this.num); //本類成員變數訪問,該處輸出為 20 15 System.out.println(super.num); //父類成員變數訪問,該處輸出為 10 16 System.out.println(num2); 17 } 18 } 19 20 21 public class Demo14 { 22 public static void main(String[] args) { 23 Son1 s = new Son1(); 24 s.show(); 25 } 26 27 }