Java關鍵字super&this
super(調用父類)
super主要是調用父類
創建測試文件
ThisAndSuper.class
package test;
public class ThisAndSuper {
public static void main(String[] args) {
City c = new City();
c.value();
}
}
Country.class
package test;
class Country {
String name;
void value() {
name = "China";
}
}
City.class
package test;
class City extends Country {
String name;
void value() {
name = "GuangZhou";
super.value(); // 調用父類的方法
System.out.println(this.name);
System.out.println(super.name);
}
}
調試註解(執行步驟)
- 進入class City,賦值name = “GuangZhou”;
- 運行至super.value(); 調用父類的方法,賦值name = “China”;
- 此時,City實例中含兩個name。
執行結果
GuangZhou
China
this(調用當前)
this主要是調用當前類
創建測試文件
package test;
public class ThisAndSuper {
public static void main(String[] args) {
Person Harry = new Person();
System.out.println("Harry's age is " + Harry.GetAge(12));
}
}
package test;
public class Person {
private int age = 10;
public Person() {
System.out.println("初始化年齡:" + age);
}
public int GetAge(int age) {
this.age = age;
return this.age;
}
}
調試註解
Person Harry = new Person();//初始化Person時,執行System.out.println("初始化年齡:" + age);輸出age值爲10
System.out.println("Harry's age is " + Harry.GetAge(12));//傳入參數12,賦值給age,輸出age=12
執行結果
初始化年齡:10
Harry's age is 12